gpt4 book ai didi

c - 非阻塞 pthread_join

转载 作者:太空狗 更新时间:2023-10-29 16:26:42 25 4
gpt4 key购买 nike

我正在编写多线程服务器的关闭代码。如果一切顺利,所有线程都应该自行退出,但线程卡住的可能性很小。在这种情况下,有一个非线程会很方便-阻止加入所以我可以做。

有没有一种方法可以执行非阻塞 pthread_join?某种定时加入也不错。

像这样:

foreach thread do  nb_pthread_join();    if still running      pthread_cancel();

我可以想到更多非阻塞连接有用的情况。

似乎没有这样的功能,所以我已经编写了一个解决方法,但它并不像我想要的那么简单。

最佳答案

如果您在 Linux 上运行您的应用程序,您可能有兴趣了解:

int pthread_tryjoin_np(pthread_t thread, void **retval);

int pthread_timedjoin_np(pthread_t thread, void **retval,
const struct timespec *abstime);

请注意,正如后缀所示,“np”的意思是“不可移植”。它们不是 POSIX 标准、gnu 扩展,但很有用。

link to man page

关于c - 非阻塞 pthread_join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73468/

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