๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Event Loop

(1)
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ˜ธ์ถœ ์Šคํƒ๊ณผ ์ด๋ฒคํŠธ ๋ฃจํ”„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ Call stack๊ณผ Event loop๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ผญ ์ˆ™์ง€ํ•ด์•ผํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์„ ์˜๋ฏธํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ํฌ๊ฒŒ Memory heap, call stack, web apis, callback queue, event loop๊ฐ€ ์žˆ๋‹ค. Call Stack ํ˜ธ์ถœ ์Šคํƒ์€ ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์„ ์Šคํƒ ๋ฐฉ์‹์œผ๋กœ ๊ธฐ๋กํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ์ˆœ์„œ๋Œ€๋กœ ์Šคํƒ์— ๋‹ด๊ณ , ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋“ค์–ด์˜จ ์ž‘์—…์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” LIFO(Last In First Out) ๊ตฌ์กฐ์ด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ํ˜ธ์ถœ ์Šคํƒ๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ task๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ..