📜  线程信息 - 任何代码示例

📅  最后修改于: 2022-03-11 14:56:15.430000             🧑  作者: Mango

代码示例1
sem_t mutex;     // init à 1
sem_t reveils[N];// init à 0
int etats[n];    // init à PENSE

void CommenceManger(int id) {
  sem_wait(mutex);
  etats[id] = FAIM;
  bool ok = etat[id-1] != MANGE
         && etat[id+1] != MANGE;
  if (ok) {
    etat[id] = MANGE;
    sem_post(mutex);
  } else {
    sem_post(mutex);
    sem_wait(reveils[id]);
  }
}