当前位置: 首页 > news >正文

C++休眠的方法

Windows的API函数 Sleep(INFINITE); 休眠时间为永久
Linux的API函数sleep 没有直接表示无限时间的参数,根据POSIX标准,sleep() 函数的参数应该是 unsigned int 类型,因此最大可以接受的参数值是 UINT_MAX,即 4294967295 秒。sleep(UINT_MAX); 休眠42亿多秒,换算后大约是 49710 天,相当于大约 136 年。

#include <iostream>
#include <limits.h>
#include <unistd.h>int main() {std::cout << UINT_MAX << std::endl;sleep(UINT_MAX);return 0;
}

C++可以用条件变量 std::condition_variable 实现类似的效果。

#include <condition_variable>
#include <iostream>
#include <mutex>
#include <thread>std::mutex mtx;
std::condition_variable cv;int main() {std::cout << "Main thread starts..." << std::endl;std::mutex mtx;std::unique_lock<std::mutex> lock(mtx);cv.wait(lock); // 主线程永久等待条件变量std::cout << "Main thread ends..." << std::endl;return 0;
}

在这个示例中,主线程在调用 cv.wait(lock); 之后会永久等待,直到其他线程通过 cv.notify_one() 或 cv.notify_all() 唤醒它。所以只要不唤醒它,就等同于windows的Sleep(INFINITE)

http://www.lryc.cn/news/396230.html

相关文章:

  • 选择排序(C语言版)
  • 基于CentOS Stream 9平台搭建FRP内网穿透
  • Redis管理禁用命令
  • RFID智能锁控系统在物流安全运输中的应用与效益分析
  • WPF设置全局样式
  • 【福利】代码公开!咸鱼之王自动答题脚本
  • ChatGPT-4o大语言模型优化、本地私有化部署、从0-1搭建、智能体构建技术
  • 使用clion刷leetcode
  • 图解HTTP(5、与 HTTP 协作的 Web 服务器 6、HTTP 首部)
  • JS之防抖和节流
  • Open3D 点云PCA算法配准(粗配准)
  • Transformer中的编码器和解码器结构有什么不同?
  • 【深度学习】第5章——卷积神经网络(CNN)
  • fluwx插件实现微信支付
  • k8s核心操作_Deployment的扩缩容能力_Deployment自愈和故障转移能力---分布式云原生部署架构搭建022
  • P8306 【模板】字典树
  • 面试官:讲一下如何终止一个 Promise 继续执行
  • linux之常见的coredump原因都有哪些
  • 低资源低成本评估大型语言模型(LLMs)
  • 什么是RPC?有哪些RPC框架?
  • HTTP有哪些请求方式?
  • 接口测试课程结构
  • leetcode--从中序与后序遍历序列构造二叉树
  • 西瓜杯CTF(1)
  • Kafka 典型问题与排查以及相关优化
  • C# 策略模式(Strategy Pattern)
  • 【初阶数据结构】1.算法复杂度
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • 科技创新引领水利行业升级:深入分析智慧水利解决方案的核心价值,展望其在未来水资源管理中的重要地位与作用
  • ExcelVBA运用Excel的【条件格式】(三)