Şimdi çocuklar, oluşturduğunuz tehdidin birleştirilebilir bir iplik mi yoksa ayrılmış bir iplik mi olması gerektiğine
karar vermenize yardımcı olacak akılda tutmanız gereken faktörlerin neler olduğu sorusu ortaya
çıkıyor.
Yani cevap basit, birleştirilebilir iş parçacığı olarak bir iş parçacığı oluşturmalısınız.
T'nin başka bir iş parçacığına bir sonuç döndürmesi gerekiyorsa.
MapReduce'u uygularken böyle bir örneği zaten görmüştük.
Doğru.
Birleştirilebilir iş parçacığı oluşturmanın diğer bir nedeni de, bazı iş parçacıklarının diğer iş parçacıklarının sonlandırılmasından
haberdar olmak istemesidir.
Doğru.
Bu nedenle, sonlandırılması diğer iş parçacıklarına bildirilmesi gereken iş parçacıkları birleştirilebilir iş parçacıkları olarak oluşturulmalıdır.
Öte yandan, bir tehdit müstakil bir tehdit olarak yaratılmalıdır.
Tehdidin herhangi bir sonuç döndürmesi beklenmiyorsa.
Doğru.
Ve kimse bu tür tehditlerin ölümle sonuçlanmasından rahatsız olmuyor.
Doğru.
Bu tür tehditlere örnek olarak sonsuz döngüde çalışan tehditler verilebilir.
Örneğin, kullanıcı girdisini bekleyen iş parçacığı.
Değil mi?
Kullanıcı girdiyi sağlar ve iş parçacığı tekrar başka bir girdi bekler ve iş parçacığı sürecin ömrü
boyunca aynı şeyi yapmaya devam eder.
Daha sonra ağ paketinin gelmesini bekleyen iş parçacıkları.
Değil mi?
Ve TCP sunucuları olarak çalışan tehditler, TCP istemcisi ile etkileşime giren bir tehdit de ayrılmış iş parçacıkları olarak
modellenebilir veya aslında çözmeye çalıştığınız problem ifadesine bağlı olarak birleştirilebilir iş parçacıkları
olarak da oluşturulabilir.
Ancak, sonsuz döngüde çalışma işlevine sahip olan iş parçacıkları kesinlikle bağımsız iş parçacıkları olarak
oluşturulmalıdır.