两个线程同步 加锁
#include <stdio.h>
#include <string.h>
#include <pthread.h>
#include <errno.h>
#include <semaphore.h>
#define BUFSIZE 4
#define NUMBER 8
int sum_of_number=0;
int value=0; //全局变量, 要注意加锁
/*定义两个变量 信号量*/
sem_t write_res_number;
sem_t read_res_number;
/* 初始化锁 ¯*/
pthread_mutex_t buffer_mutex=PTHREAD_MUTEX_INITIALIZER;
static void *producer(void * arg)
{
int i;
for(i=0;i<=12;i++)
{
/* 减少可写的资源数*/
sem_wait(&write_res_number);
/* 加锁 */
pthread_mutex_lock(&buffer_mutex);
value+=1;
printf("procuder write: %d/n",value);
/* 解锁 */
pthread_mutex_unlock(&buffe