c - 在 Pthread 库中杀死线程

标签 c multithreading pthreads posix

我使用 pthread_create(&thread1, &attrs,//... ,//...); 并且需要在某些情况发生时需要杀死这个线程 如何杀死它?

最佳答案

先存储线程id

pthread_create(&thr, ...)

然后再调用

pthread_cancel(thr)

但是,这不是推荐的编程实践!最好使用线程间通信机制(如信号量或消息)来通知线程应该停止执行。

请注意,pthread_kill(...) 实际上并没有终止接收线程,而是向它传递了一个信号,这取决于信号和信号处理程序会发生什么。

关于c - 在 Pthread 库中杀死线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2084830/

相关文章:

c - 使用 if 子句代替处理器 #ifdef

c - 我是否以正确的方式释放这个链表?

java - 多线程问题 --> 完成后检索线程结果

C pthread_join 段错误

c - 使用互斥锁同步 pthread

头文件位于其他目录中的 C Makefile

c - 我如何使用 ICU 库打印文件?

java - 将代码转换为多线程版本

Java:在断点调试期间在隐式队列中检测到 "gridlock"

c - 如何调试程序挂起的原因?