gpt4 book ai didi

C++ pthread_t - 如何停止 pthread_t 一段时间

转载 作者:行者123 更新时间:2023-11-28 08:13:00 31 4
gpt4 key购买 nike

如何让 pthread_t 停止一段时间?我的意思是不使用 sleep 功能;)

最佳答案

使用pthread_cond_wait(或pthread_cond_timedwait,但可能不是)阻塞线程。您将需要一个谓词——一个变量,它包含一个值,该值指示线程应该继续还是停止。并且您需要一个互斥体来保护谓词和条件变量。然后,另一个线程可以通过获取互斥量、更改谓词、向条件变量发出信号并释放互斥量来解除对线程的阻塞。

但是,一般来说,您不应该这样做。如果有事情要做,你应该让线程去做。如果无事可做,则应将线程编码为终止或等待工作。如果您必须使用特定代码强制执行此操作,则很可能您一开始就做错了。

线程应该被编码来做所有的事情,并且只做你想让它做的事情。除非在真正不寻常的情况下,否则您不需要从外部“插入它”。

关于C++ pthread_t - 如何停止 pthread_t 一段时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8501123/

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