C 學習記錄 基於chrono庫的高精度計時器

2021-10-19 05:23:38 字數 927 閱讀 4443

c++11中新引入了std::chrono庫,由此可以較為容易的實現乙個計時器。同時,休眠操作也可以通過這個庫來實現,從而使**有良好的跨平台性,避免使用windows/linux的系統休眠函式。

在接下來的網路程式設計學習中,將引入該計時器,實現對每秒收包、連線等資料的計數顯示。

本篇學習記錄使用的語言為c++,呼叫的庫為c++11裡的std::chrono庫。

mytimer.hpp**如下:

#ifndef my_timer_h_

#define my_timer_h_

#include

class

mytimer

virtual

~mytimer()

;//呼叫update時,使起始時間等於當前時間

void

update()

//呼叫getsecond方法時,經過的時間為當前時間減去之前統計過的起始時間。

double

getsecond()

};#endif

測試該計時器的**示例main.cpp**如下:

#include

"mytimer.hpp"

#include

intmain()

std::cout<<_time.

getsecond()

;return0;

}

使用方法如下:

std::chrono::milliseconds t(1

);//休眠一毫秒

std::this_thread::

sleep_for

(t);

C 學習 chrono的使用

std chrono是在c 11中引入的,是乙個模板庫,用來處理時間和日期的time library。要使用chrono庫,需要include std chrono clocks 時間點相對於真實物理時間的框架。至少提供了3個clock system clock 於系統時鐘,全部程序使用now 方法...

C 11的chrono庫,實現毫秒微秒級定時

c 11有了chrono庫,可以很容易的實現定時功能。chrono chrono庫主要包含了三種型別 時間間隔duration 時鐘clocks和時間點time point。duration duration表示一段時間間隔,用來記錄時間長度,可以表示幾秒鐘 幾分鐘或者幾個小時的時間間隔,durat...

C 標準庫學習記錄

2016.10.22 更新到p93 1.關鍵字typename 在模板類template class myclass typename t subtype ptr 這裡,對於t型別的子型別subtype,如果要定義其指標,必須在前面新增typename 否則,sbutype會被當做乙個static成...