在Javascript世界裡面, 它仍然是依照同步的概念去執行程式

意思就是Javascript單執行續(Single-Thread) 的語言

請給予肝肝的小工程師支持吧 'v': ETH/ERC20

甚麼是同步? 甚麼是非同步?

同步

同步⌟這一詞, 懵懂的我剛開始以為是Multi-thread, 或者因為中文翻譯而將意思誤解為同時進行

*Multi-thread 之後我會在寫一篇來說說

簡單來說就是把事情編排好順序, 藉由一些方式讓它按照你編排的順序去執行

每次只做一件事情, 這才叫做 ⌜同步⌟。

⌜非同步

⌜非同步⌟的字面意思就很好了解

指派任務的可以多個母線開頭, 做完這件事情, 你還能再去做其他的被指派任務

同步(Sync)

每天當你起床之後, 你腦袋一定會想等下要先刷牙、煮咖啡、吃早餐。

但是你只能烤完吐司, 再來煮咖啡, 咖啡煮完再來刷你的牙。

這樣不是很麻煩嘛! 還要屈就之前的任務?

同步

非同步(Async)

但是我不想要做完A再來做B再來做C… 很浪費時間!

所以我們利用下圖流程來解釋非同步

  1. 要刷牙之前, 我們將吐司烤爐啟動
  2. 再將咖啡機啟動
  3. 然後自己跑去刷牙
  4. 刷牙的同時, 機器仍然運作中
  5. 刷完牙, 吐司烤好,咖啡也煮好了!
非同步

結語

同步非同步的概念先建構好, 之後會用單一篇章來說說SetTimeout、Callback、AJAX 

One Reply to “JS-執行緒與同步(Sync)與非同步(Async)概念”

Comments are closed.