【发布时间】:2012-07-18 12:46:16
【问题描述】:
我想做的就是启动一个线程,看看它是否在一定时间内完成。
操作系统:Linux;语言:C++。
我不想使用不可移植的功能(如this answer 中的建议)。
除了使用互斥锁和 条件变量(建议here)?两个线程之间没有共享数据,所以从技术上讲我不需要互斥锁。 我想要的只是,对于启动线程的函数,如果
线程已完成或
过了一段时间。
...并尽可能保持代码简单。
【问题讨论】:
-
我强烈推荐 boost 线程库,或者如果你有一个支持它们的编译器,C++11 中有一些并发特性。为此,您需要多精确的时间?分析可能是要走的路。
-
条件变量、布尔标志和互斥体有什么问题?
-
sam:谢谢,我会阅读更多内容。 @Torsten:我想让它尽可能简单,对于这样一个简单的事实来说似乎太过分了。只是觉得我应该问。但是,作为最后的手段,我会谈到这一点。