我想从另一个线程中杀死一个线程,并且我想在它运行时做,所以它不会像将循环变量更改为某些东西。最合适的方法是什么?
为了更清楚,我正在使用cURL,并且在某些方面之后我不想让curl执行下载。 curl API不提供类似的东西。所以我必须取消该帖子。
答案 0 :(得分:3)
杀死一个线程很少是一个好主意,因为它很容易导致内存/资源泄漏。一个被杀死的线程只清理它的堆栈和线程本身使用的内存,没有通过new / malloc等分配。
但是,如果你真的想杀死线程,使用pthreads正确的方法就是调用pthread_cancel
。
另外:看这里:
Cancelling a thread using pthread_cancel : good practice or bad