linux下 c中怎么让才能安全关闭线程
我有一个带while循环的线程,怎么可以控制任何时候都可以退出线程,return 达不到我的要求,当我使用pthread_cancel的时候,会使怎么程序都死掉,提示为terminate called without an active exception,请问有没有好的方法解决这个问题,请高手指教
[解决办法]
用event来实现。
在子线程中,在循环内检测event。
while(!e.is_active())
{
...
}
当退出循环体的时候,自然return返回。这样子线程会优雅的结束。
注意:选用非等待的检测函数。
[解决办法]
设置一个所有线程都能访问的变量,作为while循环的条件?不知道可不可以
[解决办法]
应该可以用各种内核同步互斥对象的
[解决办法]
event就行了