linux多线程 -- 互斥量
来源:互联网 发布:mac装maven 编辑:程序博客网 时间:2024/06/07 03:23
#include <iostream>#include "Configure.h"#include "Utils.h"#include <queue>using namespace std;queue<int> product;pthread_mutex_t mutex;void *Produce(void *args){ int i; for(i = 0; i < 10; i++){ pthread_mutex_lock(&mutex); product.push(i); CC_NOTICE("Produce %d", i); pthread_mutex_unlock(&mutex); sleep(1); } pthread_exit(NULL);}void *Consume(void *args){ int i; for(i = 0; i < 10; i++){ pthread_mutex_lock(&mutex); if(product.empty()){ pthread_mutex_unlock(&mutex); continue; } CC_NOTICE("Consume %d", product.front()); product.pop(); pthread_mutex_unlock(&mutex); sleep(2); } pthread_exit(NULL);}int main(){ pthread_t proID, conID; pthread_mutex_init(&mutex, NULL); int ret; ret = pthread_create(&proID, NULL, Produce, NULL); if(ret != 0){ CC_FATAL("Create thread error"); exit(1); } ret = pthread_create(&conID, NULL, Consume, NULL); if(ret != 0){ CC_FATAL("Create thread error"); exit(1); } pthread_join(proID, NULL); pthread_join(conID, NULL); return 0;}
0 0
- Linux c 多线程 互斥量
- linux多线程 -- 互斥量
- Linux--多线程之互斥量
- Linux 多线程同步(互斥量)
- 互斥量--linux多线程的运用
- linux多线程
- linux多线程
- Linux多线程
- linux多线程
- linux多线程
- linux多线程~
- LINUX多线程
- linux多线程
- Linux多线程
- linux多线程
- linux多线程
- linux多线程
- linux多线程
- 为现代JavaScript开发做好准备
- windows服务
- Qt TreeView的使用步骤
- ArcGIS教程:什么是动态文本?
- iOS入门如何选择Swift和objective-c
- linux多线程 -- 互斥量
- oracle11g 可传输表空间
- LeetCode Longest Valid Parentheses
- setCodecForCString
- Java基础篇 ---- hashCode() 和 equals() 方法
- 第15周项目一(2)工资数据的输入
- java初学者--html系列教程--表格的使用(三)-跨行与跨列
- zookeeper 命令
- 第十五周项目3(拓展)-读入一篇英语文章,输出每个词的意思