子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次。
来源:互联网 发布:linux网络编程看什么书 编辑:程序博客网 时间:2024/06/06 02:28
#include <stdio.h>#include <stdlib.h>#include <pthread.h>pthread_mutex_t mutex;pthread_cond_t cond;int main_flog = 0;int sub_flog = 0;int main_count = 0;int sub_count = 0;void *sub_thread_func(void *argv);void main_thread_func();int main(){pthread_t tid;int ret;pthread_mutex_init(&mutex,NULL);pthread_cond_init(&cond,NULL);ret = pthread_create(&tid,NULL,sub_thread_func,NULL);if(ret == -1){perror("pthread_create errpr!\n");exit(-1);}main_thread_func();ret = pthread_join(tid,NULL);if(ret == -1){printf("pthread_join error!\n");exit(-1);}return 0;}void *sub_thread_func(void *argv){int i;while(1){sub_count++;for(i = 1; i <= 3; i++){printf("sub pthread%d:%d\n",sub_count,i);}while(1){pthread_mutex_lock(&mutex);if(main_flog == 1){ pthread_cond_signal(&cond);pthread_mutex_unlock(&mutex);break;}pthread_mutex_unlock(&mutex);}pthread_mutex_lock(&mutex);sub_flog = 1;pthread_cond_wait(&cond,&mutex);sub_flog = 0;pthread_mutex_unlock(&mutex);//sub_count++;if(sub_count >= 50){printf("sub_pthread loop 50 times!\n");break;}}return (void *)0;}void main_thread_func(void){int i;while(1){main_count++;pthread_mutex_lock(&mutex);main_flog = 1;pthread_cond_wait(&cond,&mutex);main_flog = 0;pthread_mutex_unlock(&mutex);for(i = 1; i <= 6; i++){printf("mainphread%d:%d\n",main_count,i);}while(1){pthread_mutex_lock(&mutex);if(sub_flog == 1){ pthread_cond_signal(&cond);pthread_mutex_unlock(&mutex);break;}pthread_mutex_unlock(&mutex);}//main_count++;if(main_count >= 50){printf("main_phread loop 50 times!\n");break;}}}
0 0
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次。
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- 子线程循环10次,接着主线程循环5次,接着又回到子线程循环10次,接着再回到主线程又循环5次,如此循环50次,请写出程序。
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- c++实现子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次
- 面试题:子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次,请写出程序
- 子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次
- 子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程100次,如此循环50次
- 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次.
- Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次
- 面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次
- 多线程学习--案例-子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次
- 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次
- 12.2
- 减小apk体积二
- [Linux笔记001]:jdk及eclipse安装
- iOS - 多选相册
- spring data jpa 条件分页查询
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次。
- PopupWindow概述
- response.setContentType()的作用及参数
- 十四周 项目1-验证算法(折半查找)
- 第13周项目5-拓扑排序算法的验证
- [Linux笔记002]:显示隐藏文件和链接
- 第14周项目1-(2)验证分块查找算法
- 第14周项目1-(1)验证折半查找算法
- [Linux笔记003]:linux中图像格式转换