"Hai, Amigo!"

"Lan sawetara rincian liyane. Ayo diarani saran praktis."

"Upami sampeyan duwe metode sing ngenteni apa-apa lan turu nganti kondisi wis kepenak."

Yen koleksi kosong, banjur ngenteni
public synchronized Runnable getJob()
{
 if (jobs.size() == 0)
  this.wait();

 return jobs.remove(0);
}

"Dokumentasi Jawa kanthi tegas nyaranake nelpon metode tunggu ing loop:"

Yen koleksi kosong, banjur ngenteni
public synchronized Runnable getJob()
{
 while (jobs.size() == 0)
  this.wait();

 return jobs.remove(0);
}

"Lho? Sing penting, yen benang tangi, ora ateges kahanane wis kepenak. Mungkin ana rong puluh benang turu. Kabeh padha tangi, nanging mung siji sing bisa nindakake tugas."

"Sacara kasar, bisa uga ana 'weker palsu'. Pangembang sing apik kudu nganggep iki."

"Aku weruh. Apa ora luwih gampang mung nggunakake notifikasi?"

"Inggih, yen ana luwih saka siji tugas ing dhaptar? Notify biasane dianjurake kanggo nggunakake kanggo optimasi. Ing kabeh kasus liyane, disaranake nggunakake metode notifyAll."

"Oke."

"Nanging ana liyane. Kaping pisanan, bisa uga ana kahanan nalika ana wong sing marisi kelas sampeyan, nambah metode dhewe, lan uga nggunakake wait / notifyAll. Ing tembung liyane, bisa uga ana kahanan sing ngenteni pasangan independen / notifyAll ngenteni ing obyek sing padha. lan ora ngerti bab siji liyane. Dadi apa sing kudu sampeyan lakoni?"

"Tansah nelpon ngenteni ing loop lan priksa manawa kondisi mandap loop bener!"

"Bener. Lan kanggo nggawe cukup cetha yen sampeyan ora bisa uwal iki, akeh pangembang nuduhake yen kadhangkala Utas tangi dhewe. Utas sing dijamin ora bakal awakened sengaja. Iki misale jek efek sisih optimasi kode ing a nganggo mesin Jawa."

"Wah. Ngerti. Tanpa loop, cara ngenteni ora apik."