2010-07-18 16 views

cevap

5

Hayır, iş parçacığı hala RUNNABLE durumundadır. RUNNABLE, bir iş parçacığının çalıştırılabileceğini ve şu anda çalışmakta veya sırası geldiğinde beklediğini belirtir. Thread.STATE, yürütülmekte olan bir iş parçacığı ile çalışmaya hazır bir iş parçacığı arasında ayrım yapmaz, her ikisi de RUNNABLE'dir. Ya wait(), join() veya LockSupport.park() denilen edildiğinde

bir iş parçacığı yalnızca WAITING durumu girmelidir.

Thread.yield() yöntemini çağırarak, şu anda çalışan iş parçacığı gönüllü olarak CPU zaman dilimini bırakıyor. Bu iş parçacığı daha sonra tekrar hazır durumuna geçmeye gider.

+0

@krock: bu yüzden farklı bir iş parçacığı etkinleştirmek için iş parçacığı zamanlayıcı bir olanak verir rağmen Runnable var? – Max

+0

@Max, yes 'verim()', sisteme başka konuları vermesi için bir şans vermesi gereken bir bildirimdir. Yapacak başka bir şey yoksa, iş parçacığı yürütmeye devam edebilir. – krock

+0

RUNNABLE, ÇALIŞTIRMA. Program, bir dilim verirse çalışabilir. Bunun aksine, bir çağrının() çağrılması join() şu anda çalışamaz (yani çalıştırılamaz). – EricSchaefer

İlgili konular