正在加载图片...
效绵鼎 Example:Peterson's Algorithm flag[0],flag[1](initialed to false)-meaning I want to access CS turn (initialized to 0)-used to resolve conflicts Process 0: Process 1: while (true){ while (true){ <noncritical section>; <noncritical section>; flag[0]:true; flag[1]:true; turn :1; turn :0; while flag[1]and while flag[0]and turn =1 do {} turn =0 do; <critical section>; <critical section>; flag[o]:false; flag[1]:false;Example: Peterson's Algorithm ◼ flag[0], flag[1] (initialed to false) — meaning I want to access CS ◼ turn (initialized to 0) — used to resolve conflicts Process 0: while (true) { <noncritical section>; flag[0] := true; turn := 1; while flag[1] and turn = 1 do { }; <critical section>; flag[0] := false; } Process 1: while (true) { <noncritical section>; flag[1] := true; turn := 0; while flag[0] and turn = 0 do { }; <critical section>; flag[1] := false; }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有