#include <stdio.h>
#include <semaphore.h>
#include <pthread.h>
#include <errno.h>
#include <string.h>
//创建条件变量
pthread_cond_t cond;//=PTHREAD_COND_INITIALIZER;//创建条件变量的第二种方法
//创建条件变量
pthread_cond_t cond1;//=PTHREAD_COND_INITIALIZER;//创建条件变量的第二种方法
//创建条件变量
pthread_cond_t cond2;//=PTHREAD_COND_INITIALIZER;//创建条件变量的第二种方法
//创建互斥锁
pthread_mutex_t mutex;//=PTHREAD_MUTEX_INITALIZER;//创建互斥锁第二种方法
int flag=0;
pthread_t pid1=0;
pthread_t pid2=0;
pthread_t pid3=0;
//线程1的A
void *write_sem1(void *arg)//*arg=&fo_r
{
int i=10;
while(i--)
{
/*********\0***临界区*********/
pthread_mutex_lock(&mutex);//
if(flag!=0)
{
pthread_cond_wait(&cond,&mutex);//设置一个唤醒条件,解开互斥锁&#x