📄 mainprocess.c
字号:
/************************************************************************************************************************/
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -