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

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

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

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

文档评论(0)

1亿VIP精品文档

相关文档