如何从主线程(从中创建)中停止和销毁线程

时间:2014-03-30 01:03:28

标签: c++

我需要创建,运行,停止线程,然后再重复相同的过程(重新加载一些新数据,需要刷新,不能使用C ++ 11标准)。我已经创建并运行了类似于我的主线程

的线程
pthread_t p;
pthread_create(&p, NULL, calculation, some_pointer_to_object);

如何从主线程中停止并销毁此线程? (pthread_exit来自当前线程)。

2 个答案:

答案 0 :(得分:1)

您需要使用pthread_cancel()

答案 1 :(得分:0)

这样做的唯一简洁方法是:在主线程中设置一个标志,启动线程,在新线程中轮询标志并在设置时快速完成。除了让你的新线程根据要求干净地关闭,其他所有东西都会打开一大堆蠕虫,这是轻描淡写的。