首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C++中添加延迟代码。

如何在C++中添加延迟代码。
EN

Stack Overflow用户
提问于 2017-09-15 02:15:00
回答 4查看 12.3K关注 0票数 1

我想添加一个延迟,这样一行将运行,然后在短时间延迟后,第二行将运行。我对C++相当陌生,所以我不知道我会怎么做。因此,理想情况下,在下面的代码中,它会打印“加载.”等待至少1-2秒,然后打印“加载.”再来一次。目前,它同时打印两个,而不是等待。

代码语言:javascript
运行
复制
cout << "Loading..." << endl;
// The delay would be between these two lines. 
cout << "Loading..." << endl; 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-09-15 02:22:17

在c++ 11中,您可以使用这个线程和crono来完成它:

代码语言:javascript
运行
复制
#include <chrono>
#include <thread>
...
using namespace std::chrono_literals;
...
std::this_thread::sleep_for(2s);
票数 6
EN

Stack Overflow用户

发布于 2017-09-15 23:08:47

要模拟“正在进行中的工作报告”,您可以考虑:

代码语言:javascript
运行
复制
// start thread to do some work
m_thread = std::thread( work, std::ref(*this)); 

// work-in-progress report
std::cout << "\n\n  ... " << std::flush;
for (int i=0; i<10; ++i)  // for 10 seconds
{
   std::this_thread::sleep_for(1s); // 
   std::cout << (9-i) << '_' << std::flush; // count-down
}

m_work = false; // command thread to end
m_thread.join(); // wait for it to end

产出:

. 9_8_7_6_5_4_3_2_1__ 10,175,240美元后放弃的工作

概述:方法“work”没有“结束”,而是收到了在超时时放弃操作和退出的命令。(成功的测试)

代码使用chrono和chrono_literals。

票数 1
EN

Stack Overflow用户

发布于 2017-09-15 08:58:02

在windons操作系统中

代码语言:javascript
运行
复制
#include <windows.h>
Sleep( sometime_in_millisecs );   // note uppercase S

在中

代码语言:javascript
运行
复制
#include <unistd.h>
unsigned int sleep(unsigned int seconds);

#include <unistd.h>
int usleep(useconds_t usec); // Note usleep - suspend execution for microsecond intervals
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46230710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档