Петерсоны алгоритм

Чөлөөт нэвтэрхий толь — Википедиагаас
Харайх: Удирдах, Хайлт

Петерсоны алгоритм гэж юу вэ?[засварлах | edit source]

Петерсоны алгоритм нь анх 1981 онд Gary L. Peterson өөрийн нэрээр нэрлэж зохиосон билээ. Энэ нь бусад алгоритмийг бодвол энгийн ба 2 процессийг 1 нөөцөөр хосолсон маягаар ажилуулдагаараа давуу талтай. Алгоритм нь flag болон turn гэсэн 2 хувьсагчтай.

Жишээ код[засварлах | edit source]

P0 болон P1 нь Процэсс, flag[n] нь үнэн, худал гэсэн үтга оруулна. n нь хэддэх процэссийг заана.

[[

2 Процесс
bool flag[0] = {false};
bool flag[1] = {false};
int turn;
P0:      flag[0] = true;
P0_gate: turn = 1;
         while (flag[1] == true && turn == 1)
         {
             // busy wait
         }
         // critical section
         ...
         // end of critical section
         flag[0] = false;
P1:      flag[1] = true;
P1_gate: turn = 0;
         while (flag[0] == true && turn == 0)
         {
             // busy wait
         }
         // critical section
         ...
         // end of critical section
         flag[1] = false;