gpt4 book ai didi

c++ - 来自另一个的 sleep 线程

转载 作者:可可西里 更新时间:2023-11-01 15:23:44 24 4
gpt4 key购买 nike

给定两个线程 A 和 B,是否有任何可移植的方式让 A 暂停 B,而 B 中没有为此目的的任何自定义代码?

基本原理:目前,B 是一个非常复杂的算法,当 A(监控线程)告诉它时,通过不时检查一些共享标志,它应该干净地退出。问题是出于调试目的,我想确切地知道 A 请求退出时 B 处于哪个状态(例如,看看我们忘记检查共享标志的地方),所以我想暂停 B(用于调试)来自A。换句话说,我不仅需要同步线程,还需要同步调试线程。

最佳答案

这取决于系统。 Windows 有一个函数 SuspendThread,但我承认我对它了解不多。在 Unix 下,您应该能够使用 pthread_kill 向线程发送信号(尽管它的名字,不会杀死线程,而只是发送信号),并在目标线程中捕获它,其中信号处理程序可以调用 sleep

关于c++ - 来自另一个的 sleep 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8442969/

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