C++多线程库中的各个子库都有各自的时间控制方式,依此来进行多线程程序运行中cpu资源的精确控制。

使用std::chrono时间库可以提供微妙、毫秒、秒及以上的时间取用,并且能够获取当前系统时间。
如下代码

#include <iostream>
#include <fstream>
#include <mutex>
#include <thread>
#include <future>
#include <deque>using namespace std;int fun1(int n) {int res = 1;for (int i =n; i> 0; --i) {res *= i;}cout << "Result is " << res << endl;return res;
}int main()
{std::thread t1(fun1,6);// 休眠2秒std::this_thread::sleep_for(std::chrono::seconds(2));//休眠静态时间点,当前线程从当前系统时间点开始 休眠2秒std::chrono::steady_clock::time_point tp = std::chrono::steady_clock::now() + std::chrono::seconds(2);std::this_thread::sleep_until(tp);t1.join();std::mutex mu;std::unique_lock<std::mutex> locker(mu);//condtion_variable条件变量的时间控制std::condition_variable cond;cond.wait_for(locker,std::chrono::seconds(2));cond.wait_until(locker,tp);//promise异步操作获取共享状态的时间控制std::promise<int> p;std::future<int> f = p.get_future();f.wait_for(std::chrono::seconds(2));f.wait_until(tp);return 0;
}

C++ 多线程:时间控制相关推荐

  1. Java如何优雅的实现时间控制

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | http://rrd.me/gCQHp 前言:需求是这样 ...

  2. Java 如何优雅的实现时间控制

    前言:需求是这样的,在与第三方对接过程中,对方提供了token进行时效性验证,过一段时间token就会失效.后台有定时任务在获取,但是偶尔会出现token失效,这是因为在获取的时候,定时任务正在跑,可 ...

  3. redistemplate hash 过期时间_完美!谈谈Java中时间控制的几种解决方案

    前言 需求是这样的,在与第三方对接过程中,对方提供了token进行时效性验证,过一段时间token就会失效.后台有定时任务在获取,但是偶尔会出现token失效,这是因为在获取的时候,定时任务正在跑,可 ...

  4. 时间控制插件调用接口

    (1)一个时间控制插件: 需求,根据时间组件选择的时间,来根据选择的这个时间段去"搞事情": (2)组件的代码分析: 组件的js和样式代码如下 index.js /** * * D ...

  5. 起止时间控制,显示格式控制

    //<script src="<!--{$smarty.const.BASE_PATH}-->/js/public/My97DatePicker/WdatePicker.j ...

  6. 苹果回应移除部分屏幕时间控制应用:因为隐私和安全

    [TechWeb]4月29日消息,据国外媒体报道,针对此前外媒报道的苹果移除和限制第三方屏幕时间控制应用一事,苹果的一名高级副总裁目前已对此作出了回应,表示移除这些应用是因为隐私和安全方面的原因. 进 ...

  7. 打开服务器网页要5秒,网页优化技巧 如何把网页加载时间控制在1.5秒以内

    今天为大家分享"如何把网页加载时间控制在1.5秒以内(必看)"当然了,控制在2秒以内其实是完全可以的,我们为什么要控制页面打开速度那?首先百度会对加载慢的页面进行打击,对SEO排名 ...

  8. 在线考试系统的时间控制(倒计时)

    在线考试系统的时间控制倒计时跟一般的html倒计时的区别:html可以很轻松地实现倒计时,但是页面刷新的同时,时间回到原点,根本没啥用.但是在线考试系统的时间控制是通过时间同步来实现真真正正的倒计时以 ...

  9. 单片机 软件延时时间控制

    单片机 软件延时时间控制 一.简述    记--通过代码方式实现软件延时(不精确延时). 二.指令周期          单片机需要一个时钟信号送给内部各个电路,才能使它们有节拍地协同工作.时钟信号的 ...

最新文章

  1. 控制显示隐藏_iOS13隐藏了5个超实用新功能:让iPhone的使用体验更好
  2. RealARM210 V3.2硬件版本 nand flash地址分配明细
  3. string 和 stringbuilder 的区别
  4. Firefox 将添加画中画功能
  5. 服务器硬盘和台式机有什么区别,服务器和电脑主机有什么区别?
  6. Chapter 1 Securing Your Server and Network(1):选择SQL Server业务经理
  7. 关于Jquery使用的一些注意事项
  8. 计算机二级教程书pdf MS,全国计算机等级考试二级教程MS Office高级应用教学大纲4.pdf...
  9. 动物棋c语言程序,斗兽棋游戏手机版|斗兽棋游戏下载 v0.2C 安卓版_最火软件站...
  10. squid代理服务+ip代理池
  11. bootstrapTable 根据条件隐藏某列
  12. 北京19家A类定点医院名单
  13. Sourcetree 使用详解
  14. html和css学习课件(新版)
  15. 关于Unix时间戳(Unix timestamp)
  16. 关于 sso 博客大巴的神仙的一点思路
  17. Pytorch 从零开始实现 GRU
  18. go-zero微服务框架入门教程
  19. 十六届全向组硬件开源
  20. 9.来电显示归属地--自定义Toast

热门文章

  1. 数据结构学习(十三)、快速排序
  2. 机房收费系统系列一:运行时错误‘-2147217843(80040e4d)’;用户‘sa’登陆失败...
  3. 【转】Winform输入法控制
  4. UVA 10714 - Ants
  5. 备案网站管理系统是JSP做的
  6. android servlet 登陆,Android Studio+Servlet+MySql实现登录注册
  7. mysql 日期_「5」学习MySQL日期与时间类型发现:要养成注重细节的习惯
  8. 二值logit模型的适用条件_一文读懂条件Logistic回归
  9. bd2和mysql语法区别,经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!...
  10. python实时读取日志并打印关键字怎么实现_面试宝典_Python.运维开发.0004.用Python实现tail实时输出新增日志?...