#include #include /*信号量的定义-操作系统兔子吃草-操作系统 - IMDN开发者社群-imdn.cn" /> #include#include/*信号量的定义,它是负责协调各个线程,以保证它们能够正确、合理的使用公共资源。用于控制进程间的同步与互斥*/ typedefHANDLESemaphore; Semaphoreg_semBuffer,g_semGlass,g_mutex;//mutex为互斥锁 //利用Windows下的API函数(视窗操作系统应用程序接口)来定义P、V操作 #defineP(S)WaitForSingleObject(S,INFINITE)#defineV(S)ReleaseSemaphore(S,1,NULL)#definerate1000 #defineCONSUMER_NUM4//消费者个数#definePRODUCER_NUM4//生产者个数#defineBUFFER_NUM4//缓冲区个数 char*thing[4]={"glass1","glass2","glass3","glass4"};//公共的队列缓冲区 structBuffer{ intproduct[BUFFER_NUM]; intfront,rear; }g_buf;//兔子线程DWORDWINAPIRabbit(LPVOIDpara) { inti=*(int*)para;//第i只小白兔&-IMDN开发者社群-imdn.cn"> #include#include/*信号量的定义,它是负责协调各个线程,以保证它们能够正确、合理的使用公共资源。用于控制进程间的同步与互斥*/ typedefHANDLESemaphore; Semaphoreg_semBuffer,g_semGlass,g_mutex;//mutex为互斥锁 //利用Windows下的API函数(视窗操作系统应用程序接口)来定义P、V操作 #defineP(S)WaitForSingleObject(S,INFINITE)#defineV(S)ReleaseSemaphore(S,1,NULL)#definerate1000 #defineCONSUMER_NUM4//消费者个数#definePRODUCER_NUM4//生产者个数#defineBUFFER_NUM4//缓冲区个数 char*thing[4]={"glass1","glass2","glass3","glass4"};//公共的队列缓冲区 structBuffer{ intproduct[BUFFER_NUM]; intfront,rear; }g_buf;//兔子线程DWORDWINAPIRabbit(LPVOIDpara) { inti=*(int*)para;//第i只小白兔& - IMDN开发者社群-imdn.cn">
登录
首页 » 操作系统 » 操作系统兔子吃草

操作系统兔子吃草

于 2022-05-23 发布 文件大小:1.15 MB
0 75
下载积分: 2 下载次数: 1

代码说明:

#include "stdafx.h" #include #include #include /*信号量的定义,它是负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。 用于控制进程间的同步与互斥*/  typedef HANDLE Semaphore;  Semaphore g_semBuffer,g_semGlass, g_mutex; //mutex 为互斥锁  // 利用 Windows 下的 API 函数(视窗操作系统应用程序接口)来定义 P、V 操作  #define P(S) WaitForSingleObject(S,INFINITE) #define V(S) ReleaseSemaphore(S,1,NULL) #define rate 1000  #define CONSUMER_NUM 4 // 消费者个数 #define PRODUCER_NUM 4 // 生产者个数 #define BUFFER_NUM 4 // 缓冲区个数  char *thing[4]={"glass1","glass2","glass3","glass4"}; //公共的队列缓冲区  struct Buffer {  int product[BUFFER_NUM];  int front,rear;  }g_buf; //兔子线程 DWORD WINAPI Rabbit(LPVOID para)  {  int i =*(int*)para; //第 i 只小白兔&

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论


0 个回复

  • 696518资源总数
  • 105193会员总数
  • 18今日下载