Bagaimana Mengatasi Kebuntuan Di Jawa?



Artikel ini merangkumi konsep Deadlock In Java dengan contoh yang menunjukkan bagaimana thread dalam program multi threaded disekat.

Bahasa pengaturcaraan Java menyokong . Ia melibatkan beberapa utas yang dijalankan secara serentak untuk multitasking. Tetapi dalam kes-kes tertentu atau kerana kekurangan tertentu, benang itu berada dalam keadaan menunggu selama-lamanya. Dalam artikel ini, Kami akan memahami keadaan kebuntuan di dan pelbagai cara untuk mengelakkannya. Berikut adalah topik yang dibincangkan dalam blog ini:

Apakah Kebuntuan di Jawa?

Kebuntuan di Java adalah keadaan di mana dua atau lebih utas disekat selamanya, saling menunggu.





menukar kepada binari dalam python

Ini biasanya berlaku apabila beberapa utas memerlukan kunci yang sama tetapi memperolehnya dalam susunan yang berbeza. di Java mengalami situasi kebuntuan kerana kata kunci yang diselaraskan.

Ini menyebabkan utas pelaksana menyekat sementara menunggu kunci, atau monitor, yang berkaitan dengan yang ditentukan objek .



Kebuntuan di Jawa - Edureka

Contoh Kebuntuan

kelas awam Contoh {public static void main (String [] args) {final String r1 = 'edureka' final String r2 = 'java' Thread t1 = new Thread () {public void run () {synchronized (r1) {System. out.println ('Thread 1: Locked r1') cuba {Thread.sleep (100)} catch (kecuali e) {} disegerakkan (r2) {System.out.println ('Thread 1: Locked r2')}}} } Thread t2 = Thread baru () {public void run () {synchronized (r1) {System.out.println ('Thread 2: Locked r1') cuba {Thread.sleep (100)} tangkapan (pengecualian e) {} disegerakkan (r2) {System.out.println ('Thread 2: Locked r2')}}}} t1.start () t2.start ()}}
 Pengeluaran: Benang 1: Berkunci r1 Benang 2: Berkunci r2

Bagaimana Mengelakkan Kebuntuan di Jawa?

Walaupun tidak dapat mengelakkan keadaan kebuntuan, tetapi kita dapat mengikuti langkah atau petunjuk tertentu untuk mengelakkannya:

  • Elakkan Kunci Bersarang - Anda mesti mengelakkan memberikan kunci pada beberapa utas, ini adalah sebab utama keadaan kebuntuan. Ia biasanya berlaku apabila anda memberikan kunci pada beberapa utas.

  • Elakkan Kunci Tidak Perlu - Kunci harus diberikan pada utas penting. Memberi kunci pada benang yang tidak diperlukan yang menyebabkan keadaan kebuntuan.



  • Menggunakan Thread Join - Kebuntuan biasanya berlaku apabila satu utas menunggu yang lain selesai. Dalam kes ini, kita dapat menggunakan Thread.join dengan masa maksimum yang diperlukan oleh utas.

Ini membawa kita ke akhir artikel ini di mana kita telah mengetahui tentang kebuntuan di Jawa dan bagaimana menghindarinya. Saya harap anda jelas dengan semua yang telah dikongsi dengan anda dalam tutorial ini.

menggabungkan algoritma sort c ++

Jika anda menganggap artikel ini mengenai 'Kebuntuan Di Jawa' relevan, lihat syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia.

Kami di sini untuk membantu anda dalam setiap langkah dalam perjalanan anda dan membuat kurikulum yang dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai suka Hibernate & .

Sekiranya anda menjumpai sebarang pertanyaan, jangan ragu untuk mengajukan semua pertanyaan anda di ruangan komen 'Deadlock In Java' dan pasukan kami dengan senang hati akan menjawab.