最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

時鐘

2023-07-22 23:20 作者:追逐彗星的尾巴  | 我要投稿

在<chrono>頭文件中,有兩個主要的時鐘類:std::chrono::system_clockstd::chrono::steady_clock。前者提供了與操作系統(tǒng)的系統(tǒng)時間相關的功能,可以用于獲取當前時間、計算時間間隔等;后者提供了一個穩(wěn)定的時鐘,不受系統(tǒng)時間調(diào)整的影響,通常用于測量時間間隔,例如性能分析。

時鐘類提供了一個靜態(tài)成員函數(shù)now來獲取當前時間,其返回的類型是時間點time_point

時間間隔 / 時延

std::chrono::duration是一個模板類,用于表示時間間隔。其定義如下:

Rep表示時間間隔的數(shù)據(jù)類型,可以是整型或浮點型。Period表示時間單位的類型,默認為std::ratio<1>。例如,當幾分鐘的時間要存在short類型中時,可以寫成 std::chrono::duration<short,?std::ratio<60, 1>>,因為60秒是才是1分鐘。當需要將毫秒級計數(shù)存在double類型中,可以寫成std::chrono::duration<double,?std::ratio<1, 1000>>,因為1秒等于1000毫秒。

std::chrono命名空間中,提供了一些預定義類型:nanoseconds[納秒],microseconds[微秒],milliseconds[毫秒],seconds[秒],minutes[分]和hours[時]。

duration還支持四則運算。

時間點

std::chrono::time_point是一個模板類,用于表示時間點。它的第一個參數(shù)用來指定所要使用的時鐘,第二個函數(shù)參數(shù)用來表示時間的計量單位(特化的std::chrono::duration)。

時間點的功能

I.時間計算和測量:時間點可用于執(zhí)行時間間隔的計算和測量。通過記錄兩個時間點之間的時間差,可以精確地計算代碼片段的執(zhí)行時間,從而進行性能優(yōu)化和時間復雜度分析。

II.時間比較:可以使用時間點進行時間的比較。這樣可以判斷事件的先后順序,比較不同操作的執(zhí)行時間,或者檢查某個時間點是否在給定時間范圍內(nèi)。

III.定時任務和延時操作:時間點可以用于實現(xiàn)定時任務和延時操作。通過設置時間點,可以讓程序在未來的某個特定時刻執(zhí)行特定的任務,或者在當前時間點的基礎上延時一段時間后再執(zhí)行。

下面創(chuàng)建了一個利用對象生存周期進行自動計時的結(jié)構(gòu)體Timer

超時

時間點一般用在后綴為until的函數(shù)中,比如wait_until

condition_variable的成員函數(shù)wait_untilwait的功能類似,它允許線程等待直到指定的時間點或條件滿足為止。

timeout:等待的截止時間點

函數(shù)wait_until的作用是阻塞當前線程,直到條件變量被通知、超過了指定的截止時間,或者虛假喚醒(spurious wake-up)發(fā)生。

虛假喚醒是指使用條件變量等待的線程在沒有明確被通知的情況下,也會從等待狀態(tài)被喚醒(原因可能是系統(tǒng)內(nèi)部的調(diào)度、硬件中斷等)。

下面的例子展示了如何等待一個條件變量(具有超時功能)。

timeout是一個超時時間點,比當前時間晚500毫秒。

檢查超時:在等待的過程中,如果等待超過了500毫秒,則跳出循環(huán)。

時鐘的評論 (共 條)

分享到微博請遵守國家法律
兰考县| 新蔡县| 吉隆县| 灵丘县| 日照市| 磐安县| 康定县| 宜昌市| 蓝田县| 富顺县| 田东县| 白朗县| 凤庆县| 锡林浩特市| 宁津县| 吉首市| 遂平县| 仙居县| 万山特区| 甘泉县| 永宁县| 昆山市| 彭水| 天等县| 揭西县| 贵溪市| 仁怀市| 岢岚县| 丰台区| 治县。| 大宁县| 青田县| 凤山县| 迭部县| 谢通门县| 安康市| 连平县| 屏南县| 岑巩县| 金沙县| 灵宝市|