Daftar Isi:
Definisi - Apa yang dimaksud dengan Algoritma Dekker?
Algoritma Dekker adalah algoritma pertama yang diketahui yang memecahkan masalah mutual exclusion dalam pemrograman bersamaan. Itu dikreditkan ke Th. J. Dekker, seorang ahli matematika Belanda yang menciptakan algoritma untuk konteks lain. Algoritma Dekker digunakan dalam proses antrian, dan memungkinkan dua utas berbeda untuk berbagi sumber daya sekali pakai yang sama tanpa konflik dengan menggunakan memori bersama untuk komunikasi.
Techopedia menjelaskan Algoritma Dekker
Algoritma Dekker hanya akan memungkinkan satu proses untuk menggunakan sumber daya jika dua proses mencoba menggunakannya secara bersamaan. Sorot algoritma adalah bagaimana memecahkan masalah ini. Ini berhasil mencegah konflik dengan menerapkan saling pengecualian, yang berarti bahwa hanya satu proses dapat menggunakan sumber daya pada suatu waktu dan akan menunggu jika proses lain menggunakannya. Ini dicapai dengan menggunakan dua "bendera" dan "token". Bendera menunjukkan apakah suatu proses ingin memasuki bagian kritis (CS) atau tidak; nilai 1 berarti BENAR bahwa proses ingin memasuki CS, sementara 0, atau SALAH, berarti sebaliknya. Token, yang juga dapat memiliki nilai 1 atau 0, menunjukkan prioritas ketika kedua proses memiliki flag yang disetel ke TRUE.
Algoritma ini dapat berhasil menegakkan saling pengecualian tetapi akan terus menguji apakah bagian kritis tersedia dan karenanya menghabiskan waktu prosesor yang signifikan. Ini menciptakan masalah yang dikenal sebagai sinkronisasi lockstep, di mana setiap utas hanya dapat dijalankan dalam sinkronisasi ketat. Ini juga tidak dapat diperluas karena hanya mendukung maksimal dua proses untuk saling pengecualian.