1 c multithreading pthreads blocking
我有一个pthread,它对某些文件描述符进行无限轮询,并带有负超时参数.
从主线程,我希望能够向轮询线程指出它应该退出.
我做了一些研究,发现了以下方法:
使用pthread_cancel():这是不鼓励的,因为它可能导致意外后果,即不清除任何持有的资源或互斥量
使用变量作为标志并将其设置在主线程中.轮询线程每次迭代都会检查此标志,如果设置,则通过调用pthread_exit()退出.这种方法不起作用,因为我的轮询线程不循环,而只是无限期地阻塞,等待文件描述符.
任何人都可以建议一个优雅的解决方案吗?
谢谢!ASM
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |