gpt4 book ai didi

c++ - 如何关闭线程(pthread 库)?

转载 作者:太空狗 更新时间:2023-10-29 21:50:18 25 4
gpt4 key购买 nike

我有一些代码,大致是:

pthread_create(thread_timeout, NULL, handleTimeOut, NULL);

void handleTimeOut()
{
/*...*/
pthread_cancel(thread_timeout);
/*...*/
}

但是正如我在 pthread 的手册中注意到的那样,取消必须由另一个线程使用。我尝试改用 pthread_exit() 函数,但该线程再次挂起...

必须如何正确处理胎面末端?函数handleTimeOut()没有特殊的pthread函数直接结束,是否会成功终止?

最佳答案

在线程不合作的情况下杀死它是一个问题的根源。正确的解决方案是允许外部线程请求线程清理和终止,并让线程定期示例此状态,当它被请求时,它会执行请求。这样的请求可以通过所有线程可以共享的任何东西来完成。

关于c++ - 如何关闭线程(pthread 库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6438018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com