Categories: Front-End JavaScript

JS-執行緒與同步(Sync)與非同步(Async)概念

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

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

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

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

同步

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

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

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

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

⌜非同步

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

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

同步(Sync)

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

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

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

同步

非同步(Async)

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

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

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

結語

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

lioajimzen

Share
Published by
lioajimzen

Recent Posts

Vue – 運行ES Module,import與export

import 與 export 在Node.js 有提到其用法: Node.js require、module以及exports 模組設定 - Hugo Habor 每一個Javascript檔案可當作獨立模組系統(ES Module) 1. Module(模組)…

12 months ago

當你的Windows應用程式完全無法執行時,該怎麼辦?

作者今天遇到一個很奇怪的問題 寫程式寫到一半... 點擊應用程式時... 怎麼都跳不出畫面... 後來查詢了一下是Reg註冊可能被微軟更新給搞掉了... 文章資訊來源: 【以解決】各位.exe檔案打不開,不要相信"在 Windows 7 或 Windows Vista 中無法打開 .EXE 檔案"這篇文章…

2 years ago

Python environments in VS Code-建立虛擬環境

Python environments in VS CodePython-建立虛擬環境

2 years ago

Node.js 核心模組-create-server

Node.js可以提供你很多模組,今天來探索如何使用 Node.js 的 http 模組來架設一個簡單的伺服器。 本篇使用模組require 載入你所需要的模組。這次我們使用'http' 模組來創造一個簡單的server。 資料參考 Node.js - createServer 起手式 - iT…

2 years ago

Node.js require、module以及exports 模組設定

針對Node.js來談談 require、module以及exports 模組設定。這些概念允許開發者將大型程序分解成小的、可管理的、可重用的部分,稱為模塊。 下面將逐一介紹這些概念,以及它們如何與 JavaScript 關聯。 An Essential Guide to Node.js Modules (javascripttutorial.net) 1. Module(模組)…

2 years ago

JSON與foreach的逐一條列應用。

像是很多專案必須讀取國家資料中心的metadata,許多檔案格式為CSV、JSON、Html可以利用網頁技術去爬蟲;拿一個範例來嘗試看看就知道這些語法的實際用途。 [主題週]專題報導-開放資料 (Open Data)相關議題與應用 (114230) - Cool3c 在這裡我們使用台北市資料大平台 UBike2.0 作為資料依據! 目的 來抓取空位數量 >15, 抓取空位數量 <15。…

2 years ago