"Halo, Amigo!"

"Ing pelajaran sadurunge, aku kadang nggunakake tembung 'mutex' lan 'monitor', saiki wektune kanggo ngandhani apa tegese."

"Aku kabeh kuping."

" Mutex minangka obyek khusus kanggo nyinkronake benang / proses. Wis rong kahanan sing bisa ditindakake: sibuk lan gratis. Sing gampang, mutex minangka variabel boolean sing bisa duwe rong nilai: sibuk (bener) lan gratis (palsu).

"Nalika thread pengin njupuk kepemilikan saka obyek, iku nandhani mutex obyek minangka sibuk. Lan yen wis rampung nggarap obyek, menehi tandha mutex minangka free."

"Ing tembung liyane, mutex kaya tandha 'sibuk / bebas' ing lawang?"

"Ya. Lan mutex kuwi digandhengake karo saben obyek ing Jawa. Mung mesin Jawa duwe akses langsung menyang mutex. Didhelikake saka programmer."

"Banjur kepiye carane nggunakake?"

"Ing Jawa, kita bisa nggarap mutex liwat monitor."

"Monitor minangka mekanisme khusus (potongan kode) sing dilapisi ing ndhuwur mutex. Iku njamin interaksi sing tepat karo mutex. Iku ora cukup kanggo nandhani obyek minangka sibuk. Iku isih perlu kanggo mesthekake yen Utas liyane ora nyoba kanggo nggunakake obyek sing sibuk."

"Ing Jawa, monitor dileksanakake nggunakake tembung kunci sing disinkronake."

"Nalika sampeyan nulis blok sing disinkronake, compiler Java ngganti karo telung potongan kode:"

1) Ing wiwitan blok sing disinkronake, kode ditambahake sing menehi tandha mutex minangka sibuk.

2)  Ing pungkasan blok sing disinkronake, kode ditambahake sing menehi tandha mutex minangka gratis.

3)  Sadurunge blok sing disinkronake, kode ditambahake, yen mutex sibuk, nyebabake benang ngenteni nganti mutex dibebasake.

"Iki kira-kira cara kerjane:"

Kode Cara kerjane Katrangan
synchronized(object)
{

object.doJob();

}
while (object.mutex)
Thread.sleep(1);

object.mutex = true;

object.doJob();

object.mutex = false;

Utas turu anggere mutex sibuk
(kita metu saka daur ulang nalika mutex dirilis). Tandhani mutex minangka sibuk.

Eksekusi doTask();

Tandhani mutex minangka gratis

"Ing kasunyatan, logika ana beda lan luwih rumit. Nanging iki mung rincian."

"Apa aku bisa njaluk rincian?"

"Nganti sampeyan sinau carane nggunakake kanthi bener, ora ana gunane kanggo njaluk kusut ing rincian."

"Saperangan saka tingkat maneh aku menehi sampeyan dhaptar kabeh negara Utas karo transisi panah lan dhaptar cara sing mengaruhi negara iki. Apa kowe kelingan akeh?"

"Ora tenan. Aku mung lali kabeh dadi cepet ... "

"Kurang latihan sing ditindakake, luwih sithik sampeyan entuk manfaat saka teori."

"Miturut Level 40, sampeyan bakal sinau carane nggunakake kabeh iki, lan aku bakal nerangake carane kabeh iki bener bisa. Ing sawetoro wektu, mung sinau kanggo nggunakake kabeh bener. Got?"

"Iya, matur nuwun, Ellie."