亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js怎樣可以實現多線程的效果嗎?

js怎樣可以實現多線程的效果嗎?

烙印99 2018-11-20 13:15:51
js怎樣可以實現多線程的效果嗎?
查看完整描述

1 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

首先說一下JS的執行原理:js引擎執行js代碼的時候是單線程的,即同一時刻只會有一個進程執行JS代碼,回調函數也是一個一個執行的(按照事件發生的順序,而不是代碼的順序)。JS中的異步通信和定時是由另外的線程實現的,脫離js線程上下文。以JS定時操作舉例,當JS引擎執行setTimeout(callbackFunction, 100)操作時,它會通知定時線程我需要100毫秒的定時,之后JS引擎進入事件循環。100毫秒之后,定時引擎向事件隊列中加入一個時間已到的事件。JS引擎從隊列中讀取時間已到的事件,執行callbackFunction。 如果同一時間有多個事件加入事件隊列,JS引擎也只會一個一個的執行callback。對于異步也是同樣,JS代碼發起通信請求,通信線程執行通信操作,并在操作完成后將完成事件加入事件隊列。JS引擎從隊列中取出事件并調用回調處理通信結果。JS引擎在執行回調函數的時候,不能同時響應其他事件。

查看完整回答
反對 回復 2018-12-11
  • 1 回答
  • 0 關注
  • 415 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號