الگوریتم دکر

الگوریتم دکر () یک الگوریتم برنامه نویسی همزمان برای انحصار متقابل است که به دو فرایند اجازه می‌دهد تا از یک منبع مشترک بدون هیچ تعارضی استفاده کنند و از حافظه مشترک تنها برای ارتباطات بهره ببرند. این الگوریتم توسط ادسخر دیکسترا طراحی شده‌است.

 الگوریتم برای دو فرایند 
    variables
        wants_to_enter : array of 2 booleans
        turn : integer

    wants_to_enter[0]  false
    wants_to_enter[1] ← false
    turn ← 0   // or 1p0:
   wants_to_enter[0] ← true
   while wants_to_enter[1] {
      if turn ≠ 0 {
         wants_to_enter[0] ← false
         while turn ≠ 0 {
           // busy wait
         }
         wants_to_enter[0] ← true
      }
   }

   // critical section
   ...
   turn ← 1
   wants_to_enter[0] ← false
   // remainder sectionp1:
   wants_to_enter[1] ← true
   while wants_to_enter[0] {
      if turn ≠ 1 {
         wants_to_enter[1] ← false
         while turn ≠ 1 {
           // busy wait
         }
         wants_to_enter[1] ← true
      }
   }

   // critical section
   ...
   turn ← 0
   wants_to_enter[1] ← false
   // remainder section

 جستارهای وابسته 
 الگوریتم پترسون
 الگوریتم نانوایی
 نشان‌بر

 منابع 



رده:ادسخر دیکسترا
رده:الگوریتم‌های کنترل همروندی
رده:ویکی‌سازی رباتیک