Thread.yield()
sonrası bir iş parçacığının Thread.State
nedir? Thread.State.WAITING
mu? Teşekkürler.Thread.yield() öğesinden sonraki bir iş parçacığının Thread.State nedir?
5
A
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.
@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
@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
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