1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
go 的時(shí)間包同時(shí)使用“掛鐘”(您要更改的內(nèi)容)和單調(diào)時(shí)鐘。從文檔:
操作系統(tǒng)提供了一個(gè)“掛鐘”,它會(huì)隨著時(shí)鐘同步的變化而變化,而“單調(diào)時(shí)鐘”則不會(huì)。一般規(guī)則是掛鐘是用來(lái)報(bào)時(shí)的,而單調(diào)鐘是用來(lái)測(cè)量時(shí)間的。而不是拆分 API,在這個(gè)包中 time.Now 返回的時(shí)間包含掛鐘讀數(shù)和單調(diào)時(shí)鐘讀數(shù);后來(lái)的計(jì)時(shí)操作使用掛鐘讀數(shù),但后來(lái)的時(shí)間測(cè)量操作,特別是比較和減法,使用單調(diào)時(shí)鐘讀數(shù)。
[...]
如果時(shí)間 t 和 u 都包含單調(diào)時(shí)鐘讀數(shù),則僅使用單調(diào)時(shí)鐘讀數(shù)執(zhí)行操作 t.After(u)、t.Before(u)、t.Equal(u) 和 t.Sub(u) ,忽略掛鐘讀數(shù)。
這是專門設(shè)計(jì)用于在發(fā)生時(shí)鐘同步(ntp 等)時(shí)防止異常的應(yīng)用程序行為(并將時(shí)鐘推回)。go 的 time 包確保單調(diào)時(shí)鐘讀數(shù)總是向前移動(dòng)(在比較或減法運(yùn)算時(shí))。
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)