Nodejs的nextTick和setTimeout

setTimeout的使用與瀏覽器中的setTimeout類似,不過就實現方式而言,卻會占用一定的性能:

  1. 由于是事件監聽機制,某個流程占用時間過長就會導致時間的精確度變低。
  2. 采用紅黑樹的機制,整體的時間復雜度是o(lgn)

nextTick則不同:

  1. 執行到nextTick時,會將其加到當前隊列的隊尾
  2. 實現機制不是紅黑樹機制,事件復雜度O(1)

idle觀察者、I/O觀察者、Check觀察者

nextTick屬于Idle觀察者
setTimeout屬于Check觀察者

優先級:

idle觀察者 > I/O觀察者 > Check觀察者

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容