dining.c

来自「多线程库」· C语言 代码 · 共 35 行

C
35
字号
#define __THREADS_MAIN#include <thread.h>#include "philosopher.h"#include "dining.h"dining::dining(int p_no){   p_fork = new mutex[p_no];  for( philosophers=0;philosophers<p_no;philosophers++ )    (void)new philosopher(philosophers,p_no,this);}dining::~dining(){  do {    cout << philosophers << " are left." << endl;    p_finish.wait(p_single);  } while( philosophers-- > 1 );  cout << "Diner closing." << endl;}void dining::finished(){  p_single.lock();  p_finish.signal();  p_single.unlock();}mutex& dining::fork(int p_no){  return p_fork[p_no];}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?