gpt4 book ai didi

multithreading - Thread.Sleep() 除了模拟持久任务之外还有其他用途吗?

转载 作者:行者123 更新时间:2023-12-04 18:45:35 24 4
gpt4 key购买 nike

我发现 Thread.Sleep() 在模拟长期任务并以优雅的方式取消它们(避免 Thread.Abort())时非常有用,另一方面,我读过使用 Thread .Sleep() 等待其他操作结束是一种不好的做法(我们有 Thread.Join() 来做)。我想知道在实际生产代码/情况下是否有任何 Thread.Sleep() 的应用。

最佳答案

这里有一些:

  1. Sleep(0) 引发上下文切换,让位于另一个具有相同或更高优先级的等待线程。
  2. 有时,您不想使用计时器。定时器滴答可以同时发生并且定时器不能可靠地停止。在计时器因竞争条件而停止后,您可以收到无限多的报价(即报价可能会排队并稍后交付)。如果您希望每分钟执行一个操作, sleep 循环是一个有效的解决方案。
  3. 操作节流。也许您只想在有配额的情况下询问 Twitter。

关于multithreading - Thread.Sleep() 除了模拟持久任务之外还有其他用途吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22510167/

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