Cara Menghasilkan Java Deadlock Secara Terprogram dan Cara Menganalisis Deadlock

Diterbitkan: 2013-07-03

Contoh Kunci Utas Java oleh Crunchify

Deadlock adalah situasi pemrograman di mana dua atau lebih utas diblokir selamanya, situasi ini muncul dengan setidaknya dua utas dan dua atau lebih sumber daya.

Di sini saya telah menulis sebuah program sederhana yang akan menyebabkan skenario kebuntuan dan kemudian kita akan melihat bagaimana menganalisisnya.

Berikut adalah Contoh Java sederhana:

Keluaran:

Saat aplikasi Anda hang seperti pada contoh di atas, Anda bisa mendapatkan thread dump dan melihat thread yang menemui jalan buntu.

Misalnya, di Mac, Anda dapat melakukan Ctrl-\ atau cukup menggunakan jstack dan id proses untuk mendapatkan dump utas yang membuatnya sangat jelas di mana kebuntuan berada.

Dalam contoh ini, dump utas terlihat seperti ini:

Perhatikan di sini threads => Deadlock di sini.. Pada contoh berikut akan memberikan Program Java sederhana untuk menghasilkan dump utas di atas secara terprogram.