c++ - 线程中 sleep() 函数的用途是什么?

标签 c++ multithreading

我经常在线程启动后看到 Sleep(N) 或者有时看到 Thread::Sleep(N);其中 N 的单位是毫秒。是否意味着让当前线程进入休眠状态,以便另一个线程可以启动?

非常感谢您的回复

最佳答案

使用sleep()函数(及其 friend )通常表明设计缺陷。罕见的异常(exception)是调试中使用的 sleep 。

sleep 的常见错误用法包括尝试将事件计时到某个时间(不好,因为没有人保证 sleep 会按照非 RT 系统规定的数量精确地使用),尝试等待某些事件(不好,因为要等待事件,您应该使用线程库中可用的特定等待函数)或尝试产生资源 - 不好,因为如果您无事可做,只需退出线程即可。 p>

关于c++ - 线程中 sleep() 函数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38018769/

相关文章:

c++ - 参数数量可变的函数

c++ - 返回指针的段错误

c++ - 刚开始学习C++

c++ - flexlm 借用许可证 LM_BORROW_STAT 结构

c# - 如何正确等待调用 Dispatcher.Invoke 的多个线程在 WPF 应用程序中完成

java - JavaFX Platform.runLater 的使用和从不同线程访问 UI

c++ - 在 C++ 中使用 SSPI 实现安全连接 - 澄清一些术语

java - 替换线程中的繁忙循环和 sleep

ios - 在 Xcode 9/Swift 4 Google APIs Client Library for Objective-C for REST : threading notification not working

java - Java中定时任务的并发执行