国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - js機(jī)制問題,是否都是等主執(zhí)行緒執(zhí)行完畢再執(zhí)行異步,如果主執(zhí)行緒有好幾萬行,或是上下文相關(guān)呢
為情所困
為情所困 2017-07-05 11:07:37
0
1
1093

1、如題,問一個js機(jī)制問題,是否都是等主執(zhí)行緒執(zhí)行完畢以後,才執(zhí)行非同步操作。
2、JavaScript 運作機(jī)制詳解:再談Event Loop 大部分人都讀過這篇文章,阮老濕說的是:只有主執(zhí)行緒執(zhí)行完畢以後,才會去讀取任務(wù)佇列。
3、今天聽說了一個上下文的說法,大概意思是說某個非同步操作只等和它是同一個上下文的主執(zhí)行緒執(zhí)行完畢。而不等其他的上下文。今天找了好久,也沒找到類似的文章,請人回答! !

為情所困
為情所困

全部回覆(1)
過去多啦不再A夢

你把很多東西感覺搞混了,還有阮一峰的文章。 。 。批判是閱讀。 。他那文章。 。還有很多概念錯誤的。 。
以下是一篇是樸靈的批註:可以參考看一看

  1. 樸靈批註版本

  2. nodeJS 官方文件 evenloop process.nextTick timers 關(guān)係

我的理解是node 主執(zhí)行緒跑執(zhí)行緒程式碼,只有檔案I/O,網(wǎng)路I/O,timer才會是非同步事件,才會進(jìn)入非同步佇列,平常你寫的程式碼都是同步的,
例如你有一下一段程序

    setTimeout(function(){
        console.log('test');
    },10);//本來應(yīng)該是10ms后輸出test
    
    for(var i=0;i<10000000;i++){
        //但是這個空的for循環(huán)執(zhí)行了50ms
    }
    //for占住了主線程,倒地timer 事件已經(jīng)到達(dá)觸發(fā)條件,但是主線程被占用
    //不能去請求完成的事件隊列。
    //所以test 會在50ms后輸出

至於那個上下文的概念,我理解的並不透徹 不知道應(yīng)該算在那一塊裡面,希望大牛給建議。 。歡迎拍磚或踩,請告知錯誤的地方。 。嘿

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板