Isi kandungan:
Definisi - Apakah maksud Algoritma Dekker?
Algoritma Dekker adalah algoritma yang pertama diketahui yang menyelesaikan masalah pengecualian bersama dalam pengaturcaraan serentak. Ia dikreditkan kepada Th. J. Dekker, ahli matematik Belanda yang mencipta algoritma untuk konteks lain. Algoritma Dekker digunakan dalam proses beratur, dan membolehkan dua benang yang berbeza untuk berkongsi sumber tunggal yang sama tanpa konflik dengan menggunakan memori yang dikongsi untuk komunikasi.
Techopedia menerangkan Algoritma Dekker
Algoritma Dekker hanya membenarkan proses tunggal untuk menggunakan sumber jika dua proses cuba menggunakannya pada masa yang sama. Kemunculan algoritma adalah bagaimana ia menyelesaikan masalah ini. Ia berjaya menghalang konflik dengan menguatkuasakan pengecualian bersama, yang bermaksud bahawa hanya satu proses boleh menggunakan sumber itu pada satu masa dan akan menunggu jika proses lain menggunakannya. Ini dicapai dengan menggunakan dua "bendera" dan "token". Bendera menandakan sama ada proses hendak memasuki bahagian penting (CS) atau tidak; nilai 1 bermaksud TRUE bahawa proses itu mahu memasuki CS, sementara 0, atau FALSE, bermaksud sebaliknya. Token, yang juga boleh mempunyai nilai 1 atau 0, menunjukkan keutamaan apabila kedua-dua proses mempunyai bendera mereka ditetapkan ke TRUE.
Algoritma ini berjaya menguatkuasakan pengecualian bersama tetapi akan sentiasa menguji sama ada seksyen kritikal tersedia dan oleh itu membazirkan masa pemproses yang penting. Ia mewujudkan masalah yang dikenali sebagai penyegerakan lockstep, di mana setiap benang hanya boleh dilaksanakan dalam penyelarasan yang ketat. Ia juga tidak boleh dikembangkan kerana ia hanya menyokong maksimum dua proses untuk pengecualian bersama.