erlang虚拟机精要(2)-异步信号时间功能
2.3實現
虛擬機中不同異步信號的實現可能會隨著時間的推移而變化,但其行為總是遵循上述實體之間傳遞異步信號的概念。
通過檢查實現,您可能會注意到某些特定信號提供了比上面描述的更嚴格的保證。Erlang代碼不能使用這些關于實現的知識,這一點非常重要,因為實現可以在任何時候改變而不需要事先通知。
主要實施更改的例子:
從ERTS 5.5.2起,到進程的退出信號是真正異步傳遞的。
從ERTS 5.10開始,所有從進程到端口的信號都是真正異步傳遞的。
從Erlang/OTP 18 (ERTS 7.0)開始,時間功能得到了擴展。這包括一個新的用于時間和時間偏移(Time Warp)模式的API,當系統時間發生變化時,它會改變系統行為。
默認的時間偏移模式的行為與以前相同,舊的API仍然可以工作。因此,除非您愿意,否則不需要更改任何內容。但是,強烈建議您使用新的API,而不是基于erlang:now/0的舊API。erlang:now/0已被棄用,它已經被棄用,并將成為可伸縮性的瓶頸。
通過使用新的API,您可以自動獲得可伸縮性和性能改進。這也使您能夠使用多時間偏移模式,以提高準確性和精度的時間測量。
單調遞增
在一個值單調遞增的序列中,所有有前任值的值要么大于要么等于它的前任值。
嚴格單調遞增
在一個嚴格單調遞增的值序列中,所有有前一個值的值都比它的前一個值大。
UT1
世界時。UT1以地球自轉為基礎,在概念上表示0°經度的太陽時。
UTC
協調世界時。UTC幾乎與UT1對齊。但是,UTC使用的秒的SI定義,它與UT1使用的秒的長度不完全相同。這意味著UTC從UT1緩慢漂移。為了使UTC與UT1保持相對同步,會插入和刪除閏秒。也就是說,UTC一天的長度可以是86400、86401或86399秒。
POSIX時間
時代以來。Epoch被定義為00:00:00 UTC, 1970-01-01。POSIX時間中的一天被定義為86400秒。奇怪的是,Epoch被定義為UTC中的一個時間,而UTC對一天的長度有另一種定義。引用Open組的話說:“POSIX時間因此不一定是UTC,盡管它看起來像UTC”。這樣做的結果是,當插入UTC閏秒時,POSIX時間要么停止一秒,要么重復最后一秒。如果UTC閏秒將被刪除(這還沒有發生),POSIX時間將向前閏一秒。
時間分辨率
讀取時間值時可以區分的最短時間間隔。
時間精度
讀取時間值時可重復、可靠識別的最短時間間隔。精度受到分辨率的限制,但是分辨率和精度有很大的不同。
時間的準確性
時間值的正確性。
時間隧道
時間偏移是指在時間上向前或向后跳躍。也就是說,時間偏移的時間值之差并不與實際運行的時間相對應。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的erlang虚拟机精要(2)-异步信号时间功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easyPOI基本用法详解
- 下一篇: erlang精要(16)-匿名函数之si