#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <process.h>
#include <windows.h>
#include <time.h>
typedef struct thread {
int thread_num;
char state;
int waittime;
int runtime;
}ojbk;
ojbk a[50];
int count = 0;
int read = 1; //读者占用的变量
int mutex = 1;//两者共用互斥变量
void P(int m,int n,int pid,char s);
void V(int n,int pid,char s);
void reader(ojbk a[],int i);
void write(ojbk a[], int i);
void print_a(int x);
unsigned int _stdcall ThreadFun1(void *pM)
{
int i;
i = (int)pM;
reader(a,i);
return 0;
}
unsigned int _stdcall ThreadFun2(void *pM)
{
int i;
i = (int)pM;
write(a,i);
return 0;
}
int main()
{
int x, i;
char isprime;
srand((int)time(NULL));
printf("请输入您要创建的线程个数:\n");
scanf("%d",&x);
for (i = 0; i<x; i++) {
a[i].thread_num = i;
a[i].waittime = rand() % 10 + 1;
a[i].runtime = rand() % 8 + 1;
进程同步之读者写者问题C语言实现
最新推荐文章于 2023-12-21 23:55:00 发布