国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Javascript-單線程,非阻塞,異步,并發語言

開發 前端
自從遇到React以來,我一直致力于。現在,要成為一個更好的程序員,您必須問為什么事情如何進行。Javascript運行時對我來說是最大的奧秘之一。

恩,什么?我使用語言來完成工作。對于我和Javascript,此過程始于構建一個小型游戲,ajax請求和表單驗證。我們與Hapi js的聯系越來越深。自從遇到React以來,我一直致力于。現在,要成為一個更好的程序員,您必須問為什么事情如何進行。Javascript運行時對我來說是最大的奧秘之一。

[[374817]]

什么是Javascript引擎和運行時?

Javascript運行時是指在運行JavaScript代碼時在何處執行。就是說,可以在google chrome上執行javascript,在這種情況下,您的javascript引擎是v8,如果在mozilla上-它是Spidermonkey,如果是IE-那么它的脈輪,如果是Safari-它是nitro,如果在節點上,則是v8。現在什么是JS引擎,什么是JS運行時?

引擎將我們編寫的JavaScript轉換為機器代碼。所有JavaScript引擎都實現ECMAScript提供的語言規范。標準化促進了獨立引擎的開發,并確保您的腳本無論在何處運行都可以得到相同的結果。為了獲得速度,V8將JavaScript代碼轉換為更有效的機器代碼,而不是使用解釋器。它通過像許多現代JavaScript引擎(例如SpiderMonkey或Rhino(Mozilla))一樣實現JIT(即時)編譯器,在執行時將JavaScript代碼編譯為機器代碼。這里的主要區別是V8不會產生字節碼或任何中間碼。JavaScript引擎只是更大概念的組成部分。該引擎在稱為Javascript Runtime的環境中工作,該環境為我們的腳本提供了附加功能。這些功能可能包括撥打網絡電話,捕獲鼠標/鍵盤事件等。

這是JS Runtime的體系結構。V8沒有這些WebAPI。這些由運行時給出。在chrome瀏覽器JS運行時中,瀏覽器擁有它,而在Node中則由C ++庫提供。

Javascript-單線程,非阻塞,異步,并發語言

> Runtime Architecture

讓我們看看Javascript是如何異步和單線程的。

單線程,什么?

Javascript代碼在單線程中執行,但是Javascript運行時不在單線程中運行。線程池存在于JS運行時中,但是我們不必擔心它,因為運行時會處理它。但是,那是怎么做的呢?事件循環可以挽救。

讓我們了解什么是運行時(或屬于運行時的JS引擎)中的堆和調用堆棧。javascript代碼首先轉換為機器代碼。堆存儲所有變量,并由調用堆棧執行操作。

  1. console.log("Start") 
  2.  
  3. function sayHello(name) {  
  4.   console.log(`Hello ${name}!`) 
  5.  
  6. sayHello("Abhinav"); 
  7. console.log("End") 

所有這些都轉到調用堆棧并在那里執行。

  • Start
  • Hello Abhinav
  • End

我們可以將腳本分為兩種類型,即立即調用和稍后調用。

異步任務到來時會發生什么?任務需要時間才能運行。比如說進行API調用或計時器等。有一個稱為回調的概念。這是完成此任務后要執行的功能。

好吧,它們作為任何常規函數進入調用堆棧,但是由于此任務駐留在WebAPI中,因此我們對WebAPI進行了調用。它存儲任務的回調函數并為我們完成任務(根據運行時使用線程/多處理)。任務完成后,它將回調發送到回調隊列。

在這里再次可視化。

現在什么是事件循環?事件循環連續運行(在瀏覽器運行時中,它并不總是在節點中運行)以檢查調用棧是否為空,如果調用棧為空,它將從回調隊列中提取第一項并將其移至調用棧并執行回調函數。在堆棧不為空之前,不會從回調隊列添加任何功能。

回調總是完全執行的。事件循環一次運行一個回調。沒有上下文切換。隊列中的所有回調都必須等到當前的回調完成。如果腳本運行時間過長,則會阻止其他腳本。這就是為什么回調應該相對簡短而簡單。

很簡單吧!但實際上,它要復雜得多。有多個隊列,具體取決于運行時,并且它們的優先級不同。有一些東西作為渲染隊列。誰的工作是渲染屏幕。

非阻塞狀態如何?

假設您在調用API時失敗,或者發生了其他事件,該事件仍然存在于Web api中,因此它永遠不會進入回調隊列,因此不會進入調用堆棧。因此,沒有任何東西被阻止。

它是并發的嗎?

并行和并行有什么區別?并行是您同時執行2個任務的位置。(邊吃爆米花邊看電影)。這是通過多核來實現的。JS代碼在調用堆棧中并行執行,而不是并行執行。但是WebAPI可以利用多核并并行運行。

原文鏈接:

https://theflyingmantis.medium.com/javascript-single-threaded-non-blocking-asynchronous-concurrent-language-ffae97c57bef)

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2018-01-11 08:24:45

服務器模型詳解

2017-03-06 14:08:38

JavaScript單線程setTimeout

2024-02-26 00:00:00

JavaScript單線程高效

2019-11-25 10:13:52

Redis單線程I

2009-07-10 09:05:20

SwingWorker

2021-05-21 09:36:42

開發技能代碼

2020-10-30 16:20:38

Redis單線程高并發

2016-11-28 09:08:43

java系統異步非阻塞

2025-09-18 08:16:28

JavaScrip單線程Linux

2019-05-07 09:44:45

Redis高并發模型

2019-05-06 11:12:18

Redis高并發單線程

2025-06-17 00:22:00

2024-09-23 17:15:28

Python并發并行

2020-11-09 09:33:37

多線程

2022-08-31 10:14:00

JavaScript網絡異步性

2010-08-30 08:55:56

JavaScript引

2022-01-04 11:11:32

Redis單線程Reactor

2022-07-07 09:12:17

JavaScript線程循環機制

2021-08-16 15:49:31

開發框架單線程異步

2020-06-16 14:19:50

Javascript多線程編程
點贊
收藏

51CTO技術棧公眾號

国产高清一区二区| 香蕉视频成人在线观看| 日韩三级免费观看| 中文有码在线观看| 久久夜色精品一区| 欧美二区在线视频| 日韩经典中文字幕一区| av资源一区二区| 日韩在线不卡| 国产精品网站视频| 精品国产精品| 国产成人精品日本亚洲| 清纯唯美亚洲经典中文字幕| 久久久久久中文| 日本在线一区二区三区| 亚洲深夜福利网站| 成人黄页网站视频| 色吧影院999| 91麻豆精品国产综合久久久| 中文字幕日韩av| 国产一区二区三区黄网站| 亚洲精品视频在线播放| 午夜日韩成人影院| 综合久久五月天| 久久三级中文| 欧美一区三区三区高中清蜜桃| 天堂av一区二区三区在线播放 | 涩涩视频免费网站| 中文字幕在线一区| 大地资源高清播放在线观看| 同产精品九九九| 98在线视频| 欧美电影一区二区三区| 国产亚洲欧美一区| 日本精品在线| 免费福利视频一区| 亚洲国产天堂久久综合| a视频在线免费看| 欧洲一区二区三区免费视频| 久久久亚洲综合网站| 日韩电影免费网站| 国产情人节一区| 国产精品亚洲片在线播放| 97超碰蝌蚪网人人做人人爽| 久久免费精品视频在这里| www.黄色网址.com| 久久久午夜精品| 一级片在线视频| 成人精品电影在线观看| 欧美精品免费视频| 中文字幕在线观看播放| 精品一区二区亚洲| 国产国产一区| 国产成人精品视频在线观看| 韩日视频一区| 日韩欧美视频免费在线观看| 国产精品久久99| 九色在线观看| 亚洲人午夜色婷婷| 国产一区调教| 成人看片在线| 国产二区国产一区在线观看| www.日本一区| 欧美日韩国产高清一区二区 | 水蜜桃在线视频| 伊人久久综合97精品| 婷婷综合成人| 国外成人在线视频网站| 懂色av一区二区在线播放| 日本91av在线播放| 亚洲综合激情网| 国产精品一二三区视频| 免费在线毛片网站| 少妇高潮久久77777| 国产精品片aa在线观看| 五月天婷亚洲天综合网鲁鲁鲁| 久久久久久99久久久精品网站| 国产在线资源| 色综合久久久888| 亚洲欧美激情诱惑| 又黄又爽又色视频| 日韩免费观看高清完整版在线观看| 国产成人一二| 在线观看日韩羞羞视频| 亚洲v日本v欧美v久久精品| 日韩欧美一区二区三区免费观看 | 欧美在线看片| 玩弄中年熟妇正在播放| 五月天精品一区二区三区| 成人看片网页| 精品一区二区三区自拍图片区| 国产精品乱子久久久久| 少妇视频一区| 懂色av一区二区三区在线播放| 99reav| 性欧美1819sex性高清大胸| 欧美黑人一级爽快片淫片高清| 久久久夜精品| 欧美hdfree性xxxx| 欧美韩国理论所午夜片917电影| 日韩激情视频在线观看| 欧美高潮视频| 国内揄拍国内精品少妇国语| 韩国女主播成人在线| 韩国中文免费在线视频| 日韩av免费看| 26uuu国产一区二区三区| 性欧美xxx69hd高清| 国新精品乱码一区二区三区18| 亚洲婷婷综合色高清在线| a成人v在线| 中文网丁香综合网| 91精品国产入口| 日韩一级免费看| 91p九色成人| 亚洲三级av在线| 日韩欧美的一区二区| 99re成人在线| 综合久久伊人| 中文字幕在线观看一区二区三区| 色综合色狠狠综合色| 午夜婷婷国产麻豆精品| 欧美黑人性猛交| 欧美午夜电影在线| 久久亚洲影视婷婷| 深夜福利视频在线观看| 欧美亚洲国产视频小说| 91蝌蚪porny| 国产精品第一国产精品| 久久视频免费在线| 亚洲精品v天堂中文字幕| 丝袜美腿一区二区三区| 高清无码视频直接看| 日韩精品在线私人| 精品国产黄a∨片高清在线| av电影一区二区三区| 亚洲国产精品字幕| 国内一区二区视频| 国产精品蜜芽在线观看| 日韩av一区二区三区在线观看| 欧美日韩免费高清一区色橹橹 | 91精品国产自产观看在线| 免费在线观看污污视频| 日韩成人中文字幕在线观看| 视频一区中文字幕国产| 182在线视频观看| 日韩 欧美 自拍| 日韩av在线综合| 97av自拍| 国产专区精品视频| 亚洲国产女人aaa毛片在线| 国产午夜精品在线观看| 韩国在线一区| 图片一区二区| 欧美大片aaa| 天天干天天综合| 亚洲熟妇av一区二区三区漫画| 国产精品成人一区二区艾草| 女同久久另类99精品国产| 粗大的内捧猛烈进出在线视频| 久久av.com| 一本色道久久综合狠狠躁篇怎么玩| 国产亚洲精品自拍| 中文字幕在线直播| 成年人午夜视频在线观看| 9.1国产丝袜在线观看 | www.成年人视频| 午夜免费在线观看精品视频| 亚洲成人av福利| 久久综合中文| av在线成人| 一本一道dvd在线观看免费视频| 精品免费视频123区| 亚洲性视频网址| 国产精品久久久一本精品 | 在线日本成人| 亚洲精品国产嫩草在线观看| 婷婷色播视频| 女同一区二区| 色综合久久88色综合天天看泰| 午夜影院久久久| 麻豆成人免费电影| 欧美激情极品| 成人激情电影在线看| 自拍亚洲欧美老师丝袜| 日本精品一区二区三区在线播放视频| 欧美视频精品在线观看| 99久久久久久| 亚洲视频日本| 精品午夜视频| 顶级网黄在线播放| 日本高清不卡中文字幕| 一区精品视频| 91香蕉亚洲精品| 裸体女人亚洲精品一区| 欧美一区二区三区在线视频| 亚洲三级在线免费观看| 国产乱码精品一区二区三区忘忧草 | 天天色天天射天天综合网| 不卡的av中文字幕|