如果我睡10毫秒。我需要增加什么才能获得第二个?

2023-12-03

即我正在使用std::this_thread::sleep_for(std::chrono::milliseconds(10));在程序循环中。

如果我有一个变量在此循环中递增以显示经过的秒数,我需要递增什么?

i.e. float x = 0;

对于每个步骤:

x += 0.01

我尝试过 0.1、0.01、0.001,但它们看起来要么太快要么太慢。


我建议使用absolute时间点和wait_until()。像这样的东西:

// steady_clock is more reliable than high_resolution_clock
auto const start_time = std::chrono::steady_clock::now();
auto const wait_time = std::chrono::milliseconds{10};
auto next_time = start_time + wait_time; // regularly updated time point

for(;;)
{
    // wait for next absolute time point
    std::this_thread::sleep_until(next_time);
    next_time += wait_time; // increment absolute time

    // Use milliseconds to get to seconds to avoid
    // rounding to the nearest second
    auto const total_time = std::chrono::steady_clock::now() - start_time;
    auto const total_millisecs = double(std::chrono::duration_cast<std::chrono::milliseconds>(total_time).count());
    auto const total_seconds = total_millisecs / 1000.0;

    std::cout << "seconds: " << total_seconds << '\n';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果我睡10毫秒。我需要增加什么才能获得第二个? 的相关文章

  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • 如何更改EditText中的线条颜色

    我正在我的布局 xml 文件中创建一个 EditText 但我想将 EditText 中的颜色线从 Holo 更改为 例如 红色 如何做到这一点 这是您可以用于所有视图的最佳工具 并且它是免费的 非常感谢 杰罗姆 范德林登 Android
  • 设置 Firebase 存储文件大小和文件数量限制

    我上传成功images使用 AngularFire2 进行 Firebase 存储 我有以下上传代码 this AfStorage ref images userId timeStamp putString base64Image data
  • 未找到名称为“default”的配置。安卓工作室

    我有一个 Android Studio 应用程序 它有一个库依赖项 Android Bootstrap 当我尝试同步 gradle 时 它 给了我一个错误 未找到名称为 default 的配置 我的结构是 FTPBackup fotobac
  • 在UIWebview ios中显示特定的pdf页面

    我目前正在开发一个项目 我有 ios 需要显示 pdf 文件 不过我想选择要显示的页面 例如 请参阅 UIWebView 中的第 10 页 共 37 页 我还没有找到一种方法来干净地分离 pfd 的页面 感谢您的帮助 Use UIWebVi
  • 在 Bash 中将命令行参数转换为数组

    如何将命令行参数转换为 bash 脚本数组 我想采取这个 something sh arg1 arg2 arg3 并将其转换为 myArray arg1 arg2 arg3 这样我就可以在脚本中使用 myArray 来进一步使用 上一篇文章
  • 为 MSSQL Server docker 映像启用 XA 事务

    我有用于开发的 MSSQL Server Linux docker 映像 我需要在此实例上启用 XA 事务 我进行了很多搜索 但我发现的所有教程仅显示如何从 Windows 计算机执行此操作 而不显示 Linux 那么如何从命令行启用 XA
  • 迭代值时,为什么当 value 是数字时 typeof(value) 返回“string”? JavaScript

    我使用 Google Chrome 进行此测试 与直觉相反 第一个循环警告 string 三次 而第二个循环警告 number 三次 numarray 1 2 3 for each loop for num in numarray aler
  • 如何正确清理存储电子邮件的 SQL 查询

    我有一个查询 该查询转到邮箱并尝试将所有电子邮件保存在表中 它在大多数情况下都有效 但当电子邮件内容值包含双引号或单引号时 它会失败 如何修改我的代码以正确插入所有查询 num imap num msg imap if num gt 0 f
  • 如何在javascript中访问单击的表格行的特定单元格

    我有一个从数据库填充的 HTML 表 以及一个 jquery 函数 将客户端单击事件添加到每个表行 function TreeTable tr each function index this click function alert th
  • 使用 OpenCV 组合两个图像

    我正在尝试使用 OpenCV 2 1 将两个图像合并为一个 并将两个图像彼此相邻放置 在Python中 我正在做 import numpy as np cv img1 cv LoadImage fn1 0 img2 cv LoadImage
  • 保存为 GIF 后图像质量下降

    我正在开发一款 iOS 应用程序 它允许用户拍摄一系列照片 然后将照片放入动画中并导出为 MP4 和 GIF 虽然 MP4 呈现源质量 但 GIF 颜色等级是可见的 这是视觉比较 GIF MP4 我用于导出为 GIF 的代码 var dic
  • Android Firebase 消息传递 SDK 如何防范 Intent 欺骗?

    我使用 Firebase Messaging 创建了一个简单的项目 并使用以下依赖项 implementation com google firebase firebase messaging 20 0 0 我已经构建了该应用程序并检查了它
  • SwiftUI 登录页面布局

    我正在探索 SwiftUI 因为我正在尝试构建登录视图 现在我面临一个问题 这就是我想要实现的目标 正如你所看到的 我已经达到了这一点 但我不喜欢我的实现 struct ContentView View State var username
  • Twilio Studio:将短信对话日志转发到电子邮件

    我正在使用 SMS studio 与入站 SMS 消息进行快速聊天机器人对话 并希望在完成后将对话日志转发到电子邮件 我编写了一个使用 SendGrid API 的函数将短信转发至电子邮件 它独立工作 即 如果我将电话号码配置为在文本输入时
  • _泛型与可变参数函数相结合?

    在 C11 中 我可以创建一个函数 其原型如下所示 void myVaFunc const char const conv 我可以这样运行它 myVaFunc ici 1 test 2 该函数会知道 解析第一个参数后 还有 3 个附加参数
  • QImage 能够打开并渲染纯 16 位图像吗?

    我想标题已经解释了我想知道的事情 有没有可能用 Qt 打开和保存 16 位图像 我并不是指 3 8 24 位或 4 8 32 位 这与纯 8 位图像完全相同 我指的是 R G 和 B 的纯 16 位 与 Patrice 所说的相反 每个组件
  • 詹金斯奴隶中的“mvn:未找到”

    我有 Jenkins Slave 安装了 Java 和 Maven 环境是 Debian 我可以在控制台中运行 java version 和 mvn version 命令 但是当我尝试在 Jenkins 作业中执行 shell 命令时 我收
  • 如何将图像和文本垂直居中对齐?

    我在顶部有一个 DIV 和一些锚点 第一个是徽标样式 其余的是文本 我设置的样式如下 div nav top height 120px vertical align middle a nav logo background no repea
  • QMediaPlayer。如何播放带有多个音频的视频?

    有一个带有两个音轨的视频文件 Duration 01 05 09 12 start 0 000000 bitrate 2781 kb s Stream 0 0 Video mpeg4 Advanced Simple Profile XVID
  • 如果我睡10毫秒。我需要增加什么才能获得第二个?

    即我正在使用std this thread sleep for std chrono milliseconds 10 在程序循环中 如果我有一个变量在此循环中递增以显示经过的秒数 我需要递增什么 i e float x 0 对于每个步骤 x