mainprocess.c
来自「rgm视频服务器的协议源码」· C语言 代码 · 共 62 行
C
62 行
/************************************************************************************************************************/
/* Author: Yves */
/* TIME: 2007/11 */
/************************************************************************************************************************/
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
pthread_mutex_t mutex;
pthread_cond_t cond;
int state;
int count;
void * child1(void *arg)
{
while(1){
printf("thread 1 get running \n");
pthread_mutex_lock(&mutex));
pthread_cond_signal(&cond);
printf("thread 1 signal\n");
count=count+1;
printf("count is %d \n",count);
pthread_mutex_unlock(&mutex);
sleep(5);
}
}
void *child2(void *arg)
{
while(1){
printf("thread 2 get running \n");
pthread_mutex_lock(&mutex));
pthread_cond_signal(&cond);
printf("thread 2 signal\n");
count=count+2;
printf("count is %d \n",count);
pthread_mutex_unlock(&mutex);
sleep(5);
}
}
int main(void)
{
int tid1,tid2;
count=0;
printf("hello, condition variable test\n");
pthread_mutex_init(&mutex,NULL);
pthread_cond_init(&cond,NULL);
pthread_create(&tid1,NULL,child1,NULL);
pthread_create(&tid2,NULL,child2,NULL);
do{
sleep(2);
pthread_mutex_lock(&mutex));
pthread_cond_wait(&cond,&mutex);
pthread_mutex_unlock(&mutex);
}while(1);
sleep(100);
pthread_exit(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?