2015-03-29 13 views
5

Bildirim() çağrılmıyorsa bekleyen iş parçacığına ne olur? Bu sahte uyandırma mı? söz konusu iplik bekliyor nesne üzerinde notify() veya notifyAll() arayarak bildirilmediği Bildirim() çağrılmıyorsa bekleyen iş parçacığına ne olur?

+0

İplik bildirilmeksizin uyanıyor mu? –

+0

Evet Bekledim ama bildirmek için kodlamadım. – amitguptageek

+0

Sahte uyandırmaların çok nadir ve olması olası değildir. NotifyAll() 'ı kullanıyor musunuz? –

cevap

6

bir Thread bekleyen varsa, o zaman aşağıdakilerden herhangi birini ortaya çıkabilir:

  • Thread bekleyen tutar bir zaman aşımı specifi olsaydı nesnenin bekleme havuzu
  • Threadçalıştırılabilir olur ed ve zaman geçtikten
  • Thread kesildi ve tekrar katedilebilen
  • öyleydi ne haberdar ne de
kesintiye yani Thread hiç hiçbir sebeple uyanır olur alır

Son durum sahte uyandırma olarak bilinir ve bir uyandıktan sonra neden Thread, her zaman beklediği koşulun doğru olup olmadığını kontrol etmelidir. Değilse, Thread tekrar arayarak wait()'a gitmelidir.

İlgili konular