首页 > 代码库 > Peterson算法

Peterson算法

 1 #define FALSE 0 2 #define TRUE 1 3 #define N 2               /*进程数量 */ 4   5  int turn;                 /* 现在轮到谁 */ 6  int interested[N];            /*所有值初始化为0 (FALSE) */ 7   8  void enter_region(int process)    /*进程是0还是1 */ 9  {10      int other;             /* 其他进程号*/11      other = 1 - process;        /*另一方进程*/12      interested[process] = TRUE;   /* 表明所感兴趣的 */13      turn = process;          /* 设置标志 */14      while(turn == process && interested[other] == TRUE);  /*空语句 */15  }16  17  void leave_region(int process)    /*进程:谁离开*/18  {19      interested[[process] = FALSE; /* 表示离开临界区*/20  }

 

Peterson算法