gpt4 book ai didi

c++ - 如何暂停我进程中的所有线程(停止世界)

转载 作者:行者123 更新时间:2023-11-28 01:16:34 41 4
gpt4 key购买 nike

我正在写一个垃圾收集器玩具,当我的 GC 开始收集时我需要暂停正在运行的程序(停止世界 gc),C++ 可以做到吗?

最佳答案

您不能简单地在 C++ 中卡住线程,但您可能不想这样做。如果您正在进行垃圾收集,那么您肯定不想这样做,而某些线程恰好在内存分配/取消分配的中间。您可能希望所有线程以某种方式定期产生,可能使用信号量或全局互斥锁,以便 gc 可以等待它们全部达到 gc'ing 之前的状态。当 gc 未处于事件状态时,可以直接将控制权交还给任何 yield 。

关于c++ - 如何暂停我进程中的所有线程(停止世界),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58503323/

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