the dining philosophers

the dining philosophers

the dining philosophers

 

road-traffic deadlock

road-traffic deadlock

 Di dalam ilmu komputer, apabila dijumpai beberapa proses yang berjalan secara mandiri tetapi menggunakan sumber daya (resources) yang sama, akan terjadi kemungkinan keadaan saling menunggu secara timbal-balik (jika hanya melibatkan 2 pemakai/proses), atau secara “melingkar” (jika melibatkan lebih dari 2 pemakai/proses), yang disebut sebagai kebuntuan (deadlock), misalnya di dalam suatu proses multi-threading.

Contoh lainnya dari keadaan kebuntuan (deadlock) dalam peristiwa sehari-hari: adalah kebuntuan arus lalu-lintas di suatu persimpangan jalan, di mana setiap kendaraan berada dalam posisi saling-menghalangi kendaraan lainnya, dan pada saat yang sama saling menunggu kendaraan lainnya untuk bergerak maju dulu seperti juga ditunjukkan pada gambar di atas. Sebuah Applets kartun sederhana yang memperagakan sebuah deadlock dapat dilihat di sini .

Keadaan ‘saling-tunggu-secara melingkar’ di atas digambarkan seperti keadaan di mana 5 orang filsuf duduk melingkar dalam suatu jamuan makan (dinner) di sebuah meja bundar di restoran China. Untuk bisa memakan makanan China, setiap orang memerlukan sepasang (2 buah) supit (chopstick), jadi akan diperlukan 10 batang supit utk. kelima filsuf tersebut.  Masalahnya, saat itu restoran sedang penuh pelanggan hingga persediaan supit yg ada sampai tidak mencukupi.

Maka, sang pelayan restoran punya gagasan: “ah, bukankah para filsuf ini punya kebiasaan makan sambil sesekali berhenti dan melamun (berfikir), jadi toh mereka bisa menggunakan supit secara bergantian.” Maka di meja para filsuf tersebut hanya disediakan 5 batang supit yang ditaruh berselang-seling di antara kelima piring/mangkuk makanan mereka seperti terlihat pada gambar di atas.

Apa yang diharapkan si pelayan memang bisa saja terwujud, kalau saja para filsuf ini bisa “berkoordinasi”, kalau salah seorang sedang makan, filsuf yang duduk persis di sebelahnya harus berhenti makan dan berfikir, dan sebaliknya. Dengan demikian, setiap filsuf yang sedang mendapat “giliran” makan akan bisa menggunakan kedua batang supit yang ditaruh di sebelah kanan dan kirinya. Tetapi karena koordinasi seperti ini tidak ada, ada saat-saat di mana kelima filsuf secara serentak ingin makan, dan masing-masing (maksimum) hanya kebagian 1 supit, misalnya yang di sebelah kanan-nya, maka mereka hanya mengangkat sebatang supit itu dengan tangan kanannya, sambil menunggu supit di sebelah kiri mereka *selesai dipakai* oleh tetangganya, ini akan menyebabkan ke 5 filsuf tersebut saling menunggu selama-lamanya … 🙂

 

the dining psilosophers versi plesetan :)

the dining psilosophers versi plesetan 🙂

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

%d blogger menyukai ini: