Linux下如何在线程中并发运行两个死循环?

Linux下如何在线程中并发运行两个死循环?,第1张

pthread_join 就是要等待线程退出的。

以上程序的功能是运行一个线程(fun1),然后等待它结束,再运行另一个线程(fun2),继续等待它退出,同时运行的线程最多两个(初始线程和两个fun中的一个)。

同时运行fun1和fun2,只需要把 pthead_join(tid1, &ret)移到第二个pthread_create后面就可以了。结果是运行fun1线程,然后运行fun2线程,再等待两个线程退出(线程里是死循环,永远等不到退出)。

注意看 pthread_join 的作用,Linux的手册页有详细描述。可以直接把线程设为detached,在线程里调pthread_exit。这样线程结束后,相关资源自动被释放,不用管该什么时候调用 pthread_join。

linux死循环退出方法如下:

1、break语句用于跳出linux死循环。continue用于跳过循环中的一个迭代。break语句可用于跳出循环。

2、break语句跳出循环后,会继续执行该循环之后的代码(如果有的话):continue语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。

这个地方的问题,对于一个初学者来说是怎么想也想不到的.问题就是:

while [ $1 -ge 10 ]

在while与[]之间你没有加空格.

还有一点,如果你给出的参数值大于10的话,那么这个程序将会是一个死循环!!

-le 和 -ge 要分清楚.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8683209.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存