博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
信号量同步线程
阅读量:6676 次
发布时间:2019-06-25

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

1 #include 
2 #include
3 #include
4 5 #define UPBOUND 100 6 7 sem_t sem1; 8 sem_t sem2; 9 10 //int i=0;11 12 void *threadfunc1(void *p)13 {14 int i=0;15 while(i<100)16 {17 sem_wait(&sem1);18 i++;19 printf("111 thread i is %d\n",i);20 sem_post(&sem2);21 }22 return NULL;23 }24 25 26 void *threadfunc2(void *p)27 {28 int i=0;29 while(i<100)30 {31 sem_wait(&sem2);32 i++;33 printf("222 thread i is %d\n",i);34 sem_post(&sem1);35 }36 return NULL;37 }38 39 int main()40 {41 sem_init(&sem1, 0, 1); //线程间共享,初值为142 sem_init(&sem2, 0, 0);43 44 pthread_t tid1=0, tid2=0;45 46 pthread_create(&tid1,NULL,&threadfunc1,NULL);47 pthread_create(&tid2,NULL,&threadfunc2,NULL);48 49 pthread_join(tid1,NULL);50 pthread_join(tid2,NULL);51 52 sem_destroy(&sem1);53 sem_destroy(&sem2);54 55 return 0;56 }

 

转载于:https://www.cnblogs.com/lijinping/p/6007741.html

你可能感兴趣的文章
SQL Server 2012笔记分享-40:自动维护索引
查看>>
C/C++各种系统开发环境搭建
查看>>
Linq技术四:动态Linq技术 -- Linq.Expressions
查看>>
ARC __bridge modifiers demystified
查看>>
[转]HTML字符实体(Character Entities),转义字符串(Escape Sequence)
查看>>
真正的干货是什么?
查看>>
SharedPreference.Editor的apply和commit方法异同
查看>>
linux shell “(())” 双括号运算符使用
查看>>
http://code.662p.com/view/5141.html
查看>>
C C++ OC指针常量和常量指针区别
查看>>
mysql函数大全
查看>>
tomcat内存溢出设置JAVA_OPTS
查看>>
[CareerCup] 12.5 Test a Pen 测试一支笔
查看>>
Maven支撑下的War应用依赖另外一个WAR应用的解决方案
查看>>
JavaScrip——练习(做悬浮框)
查看>>
从游戏开发到应用开发的转变
查看>>
UIApearance
查看>>
android: LayoutInflater使用
查看>>
phalcon的url大小写的问题
查看>>
Tair ldb(leveldb存储引擎)实现介绍
查看>>