Paralellik ve eşzamanlılığın farklı şeyler olduğunu sık sık okuyorum. Yanıtlayanlar / yorumcular genellikle birbirinden tamamen farklı iki şey olduklarını yazmak kadar ileri giderler. Ancak benim görüşüme göre bunlar birbiriyle bağlantılı ama bununla ilgili biraz açıklama istiyorum.
Örneğin, çok çekirdekli bir CPU'dayım ve hesaplamayı kendi iş parçacığında çalışan x küçük hesaplamaya (çatal / birleştirmeyi kullanarak söyleyin) bölmeyi başarırsam , her ikisi de paralel hesaplama yapan bir programım olacaktır (çünkü sözde herhangi bir zamanda birkaç iş parçacığı birkaç çekirdek üzerinde çalışacak) ve aynı anda olmak değil mi?
Basitçe, diyelim, Java kullanıyorum ve Event Dispatch Thread artı kendim oluşturduğum tek iş parçacığını çalıştıran UI olayları ve repaints ile uğraşırken, eşzamanlı bir programım olacak (EDT + GC iş parçacığı + ana iş parçacığım) vb.) ancak paralel değil.
Bunu doğru alıp almadığımı ve paralelliğin ("tek ama çok çekirdekli" bir sistemde) her zaman eşzamanlılık anlamına gelip gelmediğini bilmek isterim?
Ayrıca, çok iş parçacıklı programlar çok çekirdekli CPU üzerinde çalışıyor ama farklı iş parçacıkları "paralellik" olarak kabul edilen tamamen farklı bir hesaplama yapıyor?