gpt4 book ai didi

c# - 如何在不循环的情况下等待 bool 值(使用任何类型的等待/信号量/事件/互斥量等)

转载 作者:IT王子 更新时间:2023-10-29 04:52:46 26 4
gpt4 key购买 nike

我需要停止一个线程,直到另一个线程设置一个 bool 值并且我不想在它们之间共享一个事件

我目前拥有的是以下使用 Sleep 的代码(这就是我想要更改的代码):

while (!_engine.IsReadyToStop())
{
System.Threading.Thread.Sleep(Properties.Settings.Default.IntervalForCheckingEngine);
}

有什么想法吗?

编辑以澄清事情:

有一个我不拥有的类的名为 _engine 的对象。我无法修改它,这就是为什么我不想在它们之间共享事件。我需要等到那个类的方法返回 true。

最佳答案

SpinWait.SpinUntil 是正确的答案,无论您将此代码放在何处。 SpinUntil 提供 "a nice mix of spinning, yielding, and sleeping in between invocations" .

关于c# - 如何在不循环的情况下等待 bool 值(使用任何类型的等待/信号量/事件/互斥量等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12412167/

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