gpt4 book ai didi

language-agnostic - Sleep() 是邪恶的吗?

转载 作者:行者123 更新时间:2023-12-03 07:13:48 25 4
gpt4 key购买 nike

首先,在很多情况下,Sleep()误用,例如“同步”线程或定期轮询通知函数会调用的值。 (例如,在 Win32 WaitForSingleObject 中)

但是其他用例呢? Sleep 总是邪恶的吗?如果不是,Sleep 的良好用例有哪些?如果是,为什么几乎所有语言都有某种 Sleep 语句?

PS:我问这个问题是因为 another 的评论之一问题。 OP 指出,在他看来,应该避免 Sleep,就像 goto 一样。

最佳答案

我实际上相信您链接的断言是正确的。问题是 sleep (正如您所指出的)被用作通知机制的低效替代品。 如果您正在等待事件, sleep 总是不如正确实现的通知机制。如果您确实需要等待某件事特定时间,那么 sleep 是合适的。

例如,在某些网络协议(protocol)中,您使用一种称为指数退避的技术,如果您检测到网络上发生冲突,则需要在重试之前等待随机(且呈指数增长)的时间。在这种情况下, sleep 是合适的,因为您不是在尝试等待事件发生,而是在尝试等待特定的时间过去。

关于language-agnostic - Sleep() 是邪恶的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1096794/

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