Linux下如何在线程中并发运行两个死循环?
答案:1 悬赏:10 手机版
解决时间 2021-04-13 23:43
- 提问者网友:缘字诀
- 2021-04-13 15:45
Linux下如何在线程中并发运行两个死循环?
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-04-13 17:07
pthread_join 就是要等待线程退出的。
以上程序的功能是运行一个线程(fun1),然后等待它结束,再运行另一个线程(fun2),继续等待它退出,同时运行的线程最多两个(初始线程和两个fun中的一个)。
同时运行fun1和fun2,只需要把 pthead_join(tid1, &ret); 移到第二个pthread_create后面就可以了。结果是运行fun1线程,然后运行fun2线程,再等待两个线程退出(线程里是死循环,永远等不到退出)。
注意看 pthread_join 的作用,Linux的手册页有详细描述。可以直接把线程设为detached,在线程里调pthread_exit。这样线程结束后,相关资源自动被释放,不用管该什么时候调用 pthread_join。
以上程序的功能是运行一个线程(fun1),然后等待它结束,再运行另一个线程(fun2),继续等待它退出,同时运行的线程最多两个(初始线程和两个fun中的一个)。
同时运行fun1和fun2,只需要把 pthead_join(tid1, &ret); 移到第二个pthread_create后面就可以了。结果是运行fun1线程,然后运行fun2线程,再等待两个线程退出(线程里是死循环,永远等不到退出)。
注意看 pthread_join 的作用,Linux的手册页有详细描述。可以直接把线程设为detached,在线程里调pthread_exit。这样线程结束后,相关资源自动被释放,不用管该什么时候调用 pthread_join。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯