synchronous 1

[JS] ๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ

๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ๋‹จ ํ•˜๋‚˜์˜ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์Šคํƒ์„ ๊ฐ€์ง - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•จ - ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ฒ˜๋ฆฌ์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ํƒœ์Šคํฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋ธ”๋กœํ‚น(Blocking, ์ž‘์—…์ค‘๋‹จ)์ด ๋ฐœ์ƒ ์˜ˆ์‹œ - ๋™๊ธฐ ์ฒ˜๋ฆฌ //sleep ํ•จ์ˆ˜๋กœ setTimeout ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์ž //sleep ํ•จ์ˆ˜๋Š” ์ผ์ •์‹œ๊ฐ„(delay)๊ฐ€ ๊ฒฝ๊ณผํ•œ ํ›„ ์ฝœ๋ฐฑ ํ•จ์ˆ˜(func)๋ฅผ ํ˜ธ์ถœ function sleep(func, delay) { const delayUntil = Date.now() + delay; while (Date.now() < delayUntil); func() } function foo() { c..