#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
typedef HANDLE Semaphore; //信号量的Windows原型
#define P(S) WaitForSingleObject(S, INFINITE) // 定义Windows下的P操作
#define V(S) ReleaseSemaphore(S, 1, NULL) // 定义Windows下的V操作
#define rate 1000
#define CONSUMER_NUM 10 /* 消费者个数 */
#define PRODUCER_NUM 10 /* 生产者个数 */
#define BUFFER_NUM 4 /* 缓冲区个数 */
char *thing[10] = {"猪耳朵", "牛肝", "羊蹄", "驴肉", "马肉", "狗肉", "猴脑", "老虎屁股", "大象肚", "河马大肠"};
struct Buffer
{
int product[BUFFER_NUM]; // 缓冲区
int start, end; // 两个指针
} g_buf;
Semaphore g_semBuffer, g_semProduct, g_mutex;
c语言描述生产者消费者问题
最新推荐文章于 2024-06-15 13:22:33 发布