博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
互斥锁
阅读量:5127 次
发布时间:2019-06-13

本文共 1293 字,大约阅读时间需要 4 分钟。

1 #include
2 #include
3 #include
4 #include
5 #include
6 pthread_mutex_t mutex_x = PTHREAD_MUTEX_INITIALIZER; 7 int total_ticket_num = 20; 8 void *sell_ticket(void *arg) { 9 for (int i = 0; i < 20; i++) {10 pthread_mutex_lock(&mutex_x);11 if (total_ticket_num > 0) {12 sleep(1);13 printf("sell the %dth ticket\n", 21 - total_ticket_num);14 total_ticket_num--;15 }16 pthread_mutex_unlock(&mutex_x);17 }18 return 0;19 }20 int main() {21 int iRet;22 pthread_t tids[4];23 int i = 0; for (i = 0; i < 4; i++) {24 int iRet = pthread_create(&tids[i], NULL, &sell_ticket, NULL);25 if (iRet) {26 printf("pthread_create error, iRet=%d\n", iRet);27 return iRet;28 }29 }30 sleep(30);31 void *retval;32 for (i = 0; i < 4; i++) {33 iRet = pthread_join(tids[i], &retval);34 if (iRet) {35 printf("tid = %d,join error, iRet=%d\n",tids[i], iRet);36 return iRet;37 }38 printf("retval = %ld\n", (long*)retval);39 }40 return 0;41 }

 

转载于:https://www.cnblogs.com/--lr/p/11245101.html

你可能感兴趣的文章
Topshelf创建Windows服务
查看>>
steelray project viewer
查看>>
itext jsp页面打印
查看>>
HTTP之报文
查看>>
Perl正则表达式匹配
查看>>
windows下的文件管理工具--total commander
查看>>
react-01
查看>>
sublime插件安装
查看>>
SetForegroundWindow
查看>>
数据库存储系统应用,超市小票系统
查看>>
Git
查看>>
DB Change
查看>>
nginx --rhel6.5
查看>>
Eclipse Python插件 PyDev
查看>>
selenium+python3模拟键盘实现粘贴、复制
查看>>
第一篇博客
查看>>
typeof与instanceof的区别
查看>>
网站搭建(一)
查看>>
SDWebImage源码解读之SDWebImageDownloaderOperation
查看>>
elastaticsearch
查看>>