📅  最后修改于: 2023-12-03 15:03:52.585000             🧑  作者: Mango
在C++编程中,经常需要在代码中测量时间的间隔或确定当前时间。所以C++引入了许多相关的时间函数和库。其中,millis()函数是一个很有用的函数,它用于检索自系统启动以来经过的毫秒数。
unsigned long millis()
这个函数返回无符号的长整型值,表示自系统启动以来经过的毫秒数。
使用millis()函数可以方便地查看某段代码的执行时间,或者让程序在一定时间后执行某些任务。例如:
#include <iostream>
#include <unistd.h>
using namespace std;
int main()
{
unsigned long start_time = millis();
sleep(2); // 暂停2秒
unsigned long end_time = millis();
unsigned long interval = end_time - start_time;
cout << "程序执行了" << interval << "毫秒\n";
return 0;
}
在这个例子中,start_time
获取调用millis()函数时的时间,sleep()
函数暂停2秒,end_time
获取millis()函数的当前时间,计算两者的差值就得到了程序暂停的时间间隔。
millis()函数的返回值是自系统启动以来的毫秒数,精度为1毫秒。这个精度已经完全能够满足常规需求。
millis()函数是一个轻量级的时间函数,不需要引入大量库或模块,便于在嵌入式系统或资源受限的环境中使用。
millis()函数不是线程安全的,如果在多个线程中使用,需要添加互斥锁来保证程序的正确性。
如果系统时间被用户手动更改,millis()函数的计数器也会受到影响。
millis()函数的返回值会在系统运行时间达到最大值(约等于50天)时重新归零。
millis()函数是C++中一个比较实用的时间函数,能够在不需要高精度的情况下,方便地检索自系统启动以来的毫秒数。它的轻量级和易用性使它在各种场景下都能发挥出良好的效果。