PV操作(哲学家问题和生产者-消费者问题)剖析.docxVIP

  • 56
  • 0
  • 约7.41千字
  • 约 11页
  • 2021-01-13 发布于山东
  • 举报

PV操作(哲学家问题和生产者-消费者问题)剖析.docx

PV 操作(哲学家问题) 给每个哲学家编号,规定奇数号的哲学家先拿他的左筷子,然后再去拿他的右筷子;而偶数号的哲学家则相反。这样总可以保证至少有一个哲学家可以进餐。 #include windows.h #include iostream #include process.h #include cstdlib #include ctime using namespace std; DWORDWINAPIphilosopher(  LPVOIDlpParameter); void thinking( void eating( void waiting(  int ); int ); int ); void print( int , const char *); 全局变量 CRITICAL_SECTIONcrout; // 这个变量用来保证输出时不会竞争 CRITICAL_SECTIONfork[5]; // 定义五个临界变量,代表五更筷子 int main( int argc , char * argv []) { HANDLEhthread[5]; int i; int arg[5]; int count = 5; long a=0; unsigned long retval; InitializeCriticalSection(crout); 初始化临界变量 for (i

文档评论(0)

1亿VIP精品文档

相关文档