๋๊ธฐ์ ์ด๋(synchronous)?
๊ฐ๋จํ๊ฒ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช ํ์๋ฉด...
<A,B ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ ๋์ ๋๊ธฐ์ ์ธ ํ์ด๋ฐ>
|A์์-----------------A์ข ๋ฃ|
|B์์---------------B์ข ๋ฃ|
A์ ๋ฌด๋ฅผ ๋ง์น ๋๊น์ง B์ ๋ฌด๋ฅผ ๋ง์๋๋๊ฒ์ Blocking์ด๋ผ๊ณ ํ๊ณ ,
๋๋๋ ์์ ๊ณผ ์์ํ๋ ์์ ์ด ๊ฐ๊ธฐ๋๋ฌธ์ ๋๊ธฐ์ ์ด๋ผ๊ณ ๋งํ๋ค.
๋น๋๊ธฐ์ ์ด๋(asynchronous)?
<A,B ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ ๋์ ๋น๋๊ธฐ์ ์ธ ํ์ด๋ฐ>
|A์์-----------------A์ข ๋ฃ|
|B์์---------B์ข ๋ฃ|
๋ํ์ ๋น๋๊ธฐ ํจ์์ธ setTimeout ํจ์์ ๊ฒฝ์ฐ ์ด๋ ๊ฒ ์คํ๋๋ค.
https://poiemaweb.com/img/event-loop.gif
A,B๊ฐ ๋ณ๋ ฌ๋ก ์งํ๋๋ค. ์์ฐจ์ ์ผ๋ก ์คํ ๋์ง์๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋จ์ํ ์์ ์ด ์์ฒญ๋๋ฉด Call Stack์ ์ฌ์ฉํ์ฌ ์์ฒญ๋ ์์ ์ ์์ฐจ์ ์ผ๋ก ์คํํ ๋ฟ์ด๋ค.
์์์ ์ธ๊ธํ ๋์์ฑ(Concurrency)์ ์ง์ํ๊ธฐ ์ํด ํ์ํ ๋น๋๊ธฐ ์์ฒญ(์ด๋ฒคํธ๋ฅผ ํฌํจ) ์ฒ๋ฆฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ
์์ง์ ๊ตฌ๋ํ๋ ํ๊ฒฝ ์ฆ ๋ธ๋ผ์ฐ์ (๋๋ Node.js)๊ฐ ๋ด๋นํ๋ค.
'TIL -์ผ๊ฐํ์ต๊ธฐ๋ก > Java Script' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Call back ํจ์๋ก Method ๋ง๋ค๊ธฐ (0) | 2022.01.24 |
---|---|
Class์ Instance (0) | 2022.01.22 |
Array์ Object์ ๊ฐ ์ฌ์ฉํ๊ธฐ (0) | 2022.01.16 |
3W_JS_ํด๋ก์ ํจ์ (0) | 2021.12.29 |
3W_JS_Scope (0) | 2021.12.29 |
๋๊ธ