草庐IT

sleep_durations

全部标签

c++ - 替代 std::this_thread::sleep_for()

我有一个循环,我想确保它在每个循环中运行(大约)固定的时间量。我正在使用sleep_for来实现此行为,但我也希望程序能够在不完全支持标准线程库的环境中编译。现在我有这样的东西:usingnamespacestd;usingnamespacestd::chrono;//while(!quit){steady_clock::time_pointthen=steady_clock::now();//...doloopstuffsteady_clock::time_pointnow=steady_clock::now();#ifdefNOTHREADS//versionforsystemsw

实用性再提升!DURATION 数据类型现已支持交易日历!

DolphinDB自2.00.9/1.30.21版本开始,提供交易日历功能,并内置世界五十多个交易所的交易日历。借助交易日历,用户可以在DolphinDB中便捷查询指定范围内的交易日,或搭配内置函数,基于交易日进行日期偏移计算、数据采样等操作。最近,交易日历功能再次进行了更新。自2.00.11.1版本起,DURATION数据类型已支持交易日历。DURATION数据类型介绍在使用交易日历进行计算时,用户可以用“正负数字+4个大写字母”的形式表示交易所交易日历时间。以纽交所(XNYS)为例,假设Ti为基准日期,那么3XNYS代表第Ti+3个交易日,-3XNYS代表第Ti-3个交易日。除了使交易日期

Java中Wait和Sleep,你真的了解它们的区别吗?

大家好,我是小米,一个喜欢分享技术的程序员。今天我想和大家聊聊Java中的wait和sleep的区别和联系。wait和sleep的联系wait和sleep都可以使线程暂停执行一段时间,从而控制线程的执行顺序。具体来说,它们的联系体现在以下几个方面:wait和sleep都是Thread类提供的方法,可以让线程暂停执行一段时间。wait和sleep都可以抛出InterruptedException异常。在调用wait或sleep时,都会释放线程占用的锁。在使用wait或sleep时,都应该在同步代码块或同步方法中调用,否则会抛出IllegalMonitorStateException异常。wait

c++ - std::chrono::duration_cast - GCC 实现有问题吗?

我想我在std::chrono::duration_cast的GCC实现中发现了一个错误。谁能证实我这一点?测试代码:usingTicks=std::chrono::duration>>;usingdur=typenamestd::chrono::system_clock::duration;intmain(){std::chrono::time_pointearliest{std::chrono::duration_cast(std::chrono::time_point::max().time_since_epoch())};autoticks=std::chrono::time_

c++ - 将 int64_t 转换为 time_duration

我想通过网络传输boost::posix_time::ptime作为boost::int64_t。根据Awaytoturnboost::posix_time::ptimeintoan__int64,我可以很容易地定义我自己的epoch并且仅将time_duration从该引用epoch传输为64位整数。但是如何转换回ptime呢?#include#include#include#includeusingnamespacestd;usingboost::posix_time::ptime;usingboost::posix_time::time_duration;usingboost::

c++ - sleep/nanosleep 是否通过使用繁忙的等待方案来工作?

我想知道sleep/nanosleep内部是如何实现的?考虑这段代码:{//onathreadotherthanmain()threadwhile(1){//dosomethingsleep(1);}}CPU是否会进行持续的上下文切换以检查是否完成了1秒的sleep(即内部忙等待)。我怀疑它是这样工作的,效率太低了。但是它是如何工作的呢?同样的问题也适用于nanosleep。注意:如果这是特定于实现/操作系统的,那么我如何才能实现一个不会导致持续上下文切换的更有效的方案? 最佳答案 实现sleep()和nanosleep()的典型方

c++ - 如何使用 std::chrono::duration 作为模板参数?

我有一个模板类,类似于:templateclassMyClass{}现在,我想将Seconds更改为持续时间,以便可以使用std::chrono::duration对类进行参数化。例如,我希望能够这样做:MyClassobject;此外,在模板中,我想指定一个默认值,例如std::chrono::seconds(30)。 最佳答案 您可以巧妙地设计模板:templateclassMyClass{//Nowyoucanusedurationhere://autoduration=Duration(duration_value);};然

c++ - 将 chrono::duration 转换为字符串或 C 字符串

我正在尝试制作一个表(一个9x11数组)来存储多个排序函数所花费的时间量。我想我希望表格是一个字符串。我目前无法解决如何将chrono转换为string并且无法在线找到任何资源。我是否需要放弃表的字符串类型,或者有没有办法将这些时间差异存储在一个字符串中?for(inti=0;ielapsed_seconds=end-start;table[1][i]=string(elapsed_seconds)//error:nomatchingconversionforfunctionalstylecast} 最佳答案 您需要流式传输到std

c++ - 将 std::duration 转换为人类可读的时间

是否有标准实现将std::duration打印为人类可读的持续时间?steady_clock::time_pointstart=steady_clock::now();doSomeFoo();steady_clock::time_pointend=steady_clock::now();std::cout应该打印类似的东西:"Operationtook10d:15h:12m:14:s"或类似的东西。 最佳答案 同意没有标准实现。以下是您自己编写的方法:#include#include#includestd::ostream&disp

c++ - std::chrono::duration_cast - 有比纳秒更精确的单位吗?

我想问的是,如何以皮秒、飞秒等任何单位计算时间,甚至更精确。我正在计算函数的运行时间并使用纳秒,当我使用毫秒或纳秒时,函数的运行时间返回0。我认为Chrono库只支持到纳秒,这是我在输入chrono::后按下ctrl+space时出现的最精确的时间:intmain(){autot1=std::chrono::high_resolution_clock::now();f();autot2=std::chrono::high_resolution_clock::now();std::cout(t2-t1).count()代码来源:http://en.cppreference.com/w/c