linux c杀死线程
时间: 2023-11-21 12:07:40 浏览: 66
在Linux C中,可以使用pthread_cancel()函数来杀死线程。这个函数会向指定线程发送一个取消请求,该线程可以使用pthread_setcancelstate()函数来设置自己的取消状态,在取消请求到达时进行响应。具体的实现可以参考下面的代码:
```
#include <pthread.h>
void* thread_function(void* arg)
{
// 设置取消状态为可取消
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
// 执行线程任务
pthread_exit(NULL);
}
int main()
{
pthread_t thread;
int ret;
// 创建线程
ret = pthread_create(&thread, NULL, thread_function, NULL);
if (ret != 0) {
// 线程创建失败
}
// 杀死线程
ret = pthread_cancel(thread);
if (ret != 0) {
// 线程取消失败
}
// 等待线程结束
ret = pthread_join(thread, NULL);
if (ret != 0) {
// 线程等待失败
}
return 0;
}
```
阅读全文