📜  pros millis() - C++ (1)

📅  最后修改于: 2023-12-03 15:03:52.585000             🧑  作者: Mango

关于C++中的millis()函数

在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()函数是一个轻量级的时间函数,不需要引入大量库或模块,便于在嵌入式系统或资源受限的环境中使用。

注意事项
  1. millis()函数不是线程安全的,如果在多个线程中使用,需要添加互斥锁来保证程序的正确性。

  2. 如果系统时间被用户手动更改,millis()函数的计数器也会受到影响。

  3. millis()函数的返回值会在系统运行时间达到最大值(约等于50天)时重新归零。

结论

millis()函数是C++中一个比较实用的时间函数,能够在不需要高精度的情况下,方便地检索自系统启动以来的毫秒数。它的轻量级和易用性使它在各种场景下都能发挥出良好的效果。