在Javascript世界裡面, 它仍然是依照同步的概念去執行程式
意思就是Javascript是單執行續(Single-Thread) 的語言
請給予肝肝的小工程師支持吧 'v': ETH/ERC20
甚麼是同步? 甚麼是非同步?
⌜同步⌟
⌜同步⌟這一詞, 懵懂的我剛開始以為是Multi-thread, 或者因為中文翻譯而將意思誤解為同時進行
*Multi-thread 之後我會在寫一篇來說說
簡單來說就是把事情編排好順序, 藉由一些方式讓它按照你編排的順序去執行。
每次只做一件事情, 這才叫做 ⌜同步⌟。
⌜非同步⌟
⌜非同步⌟的字面意思就很好了解
指派任務的可以多個母線開頭, 做完這件事情, 你還能再去做其他的被指派任務。
同步(Sync)
每天當你起床之後, 你腦袋一定會想等下要先刷牙、煮咖啡、吃早餐。
但是你只能烤完吐司, 再來煮咖啡, 咖啡煮完再來刷你的牙。
這樣不是很麻煩嘛! 還要屈就之前的任務?
非同步(Async)
但是我不想要做完A再來做B再來做C… 很浪費時間!
所以我們利用下圖流程來解釋非同步。
- 要刷牙之前, 我們將吐司烤爐啟動
- 再將咖啡機啟動
- 然後自己跑去刷牙
- 刷牙的同時, 機器仍然運作中
- 刷完牙, 吐司烤好,咖啡也煮好了!
把同步與非同步的概念先建構好, 之後會用單一篇章來說說SetTimeout、Callback、AJAX
One Reply to “JS-執行緒與同步(Sync)與非同步(Async)概念”
Comments are closed.