2013-05-11 18 views
13

UDP paketlerini farklı istemcilere göndermek için DatagramSocket örneğini kullanmayı ve farklı iş parçacıklarından send yöntemini kullanmayı planlıyorum. Yöntem iş parçacığı güvenli midir, yani farklı iş parçacıklarından bu yöntemi çağırmak herhangi bir sorun/tutarsızlık/yarış durumu oluşturmaz?DatagramSocket.send iş parçacığı güvenli midir?

Teşekkürler!

cevap

9

UDP garantileri bakın. Başka bir deyişle, göndericideki çoklu okuma olsa bile, ara ayırma yapılamaz. İhtiyacın olan tek şey bu. İplik güvenliğine ihtiyacınız yok. Ancak C send() sistem çağrısı, tüm sistem çağrıları gibi iş parçacığı güvenlidir, çünkü bunlar atomiktir.

+2

Ancak, java paketleyicinin iş parçacığı güvenliğini garanti etmesini gerçekten garanti ediyor mu? Sanırım - hayır. – turbanoff

+0

@turbanoff Sarıcı herhangi bir nesnedeki herhangi bir durumu değiştirmek için belirtilmemiş olduğundan, iş parçacığının iş parçacığı için güvenli olup olmadığını anlamsız. – EJP

+0

Senin argümanını anlamıyorum. Örneğin, SimpleDateFormat herhangi bir nesnede herhangi bir durumu değiştirmek için belirtilmemiş. Ama herkes biliyor - iplik güvenli değil. – turbanoff