8์›” Challenge : ๋‹จ์–ด ๋‘ ๊ฐœ์”ฉ ์†Œ๊ฐœํ•˜๊ธฐ

[WEB] ๋™๊ธฐ(Synchronous)์™€ ๋น„๋™๊ธฐ(Asynchronous), Javascript์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹

๋ฐ์ฅฌ๋”” 2023. 8. 17. 08:23

์˜ค๋Š˜์˜ ๋‹จ์–ด๋Š” '๋™๊ธฐ'์™€ '๋น„๋™๊ธฐ' ์ด๋‹ค.

 

๋จผ์ € ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ด€์ ๋ถ€ํ„ฐ ์†Œํ•˜์ž๋ฉด,

์ด ๋‘˜์„ ๋‚˜๋ˆ„๋Š” ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ "์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐ€์ง€๋Š”๊ฐ€?" ์ด๋‹ค.

 

 

๋™๊ธฐ(synchronous)

: ๋™๊ธฐ๋Š” ๋ฐ์ดํ„ฐ์˜ ์š”์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ํ•œ ์ž๋ฆฌ์—์„œ ๋™์‹œ์— ์ผ์–ด๋‚œ๋‹ค. ์ฆ‰, ํ•ด๋‹น ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ , ํ•ด๋‹น ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„์— ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค.

 

๋น„๋™๊ธฐ(Asynchronous)

๋ฐ์ดํ„ฐ์˜ ์š”์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ๋™์‹œ์— ์ผ์–ด๋‚˜์ง€ ์•Š๊ณ , ์ž‘์—…์ด ์‹คํ–‰๋˜๊ณ  ์™„๋ฃŒ๋˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰์ฆ‰, ํ•ด๋‹น ์ž‘์—…์ด ๋๋‚˜์ง€ ์•Š์•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฒฐ๊ณผ๋Š” ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ ๋ฐ˜ํ™˜๋œ๋‹ค.

 

 

 

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ์˜ ์žฅ๋‹จ์  ๋น„๊ต

๋™๊ธฐ

์žฅ์  : ์„ค๊ณ„๊ฐ€ ์‰ฝ๊ณ  ์ง๊ด€์ 

๋‹จ์  : ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ์ž‘์—… ์ˆ˜ํ–‰ ๋ถˆ๊ฐ€

 

๋น„๋™๊ธฐ

์žฅ์  : ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์ž‘์—… ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ

๋‹จ์  : ์„ค๊ณ„๊ฐ€ ๋น„๊ต์  ์–ด๋ ต๊ณ  ๋ณต์žกํ•จ.

 

 


์ถ”๊ฐ€์ ์œผ๋กœ Javascript๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ์‚ฌ๋žŒ์œผ๋กœ์จ "Javascript์˜ ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ" ๋„ ์†Œ๊ฐœํ•˜๊ณ  ๋งˆ์น˜๊ฒ ๋‹ค.

 

Javascript์˜ ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ

๋จผ์ € Javascript๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€๋งŒ, ์ข…์ข… ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋ถ€๋ถ„์ด ๋™๊ธฐ์ ์œผ๋กœ ๋™์ž‘ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค.

์ด๋Ÿด ๋•Œ ๋น„๋™๊ธฐ์ ์ธ ๋™์ž‘์ด ๋™๊ธฐ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์ฃผ๋Š” ์ฒ˜๋ฆฌ๊ฐ€ "๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ" ์ด๋‹ค.'

 

 

* Javascript์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹

1. ์ฝœ๋ฐฑ ํ•จ์ˆ˜(Callback Function) ์‚ฌ์šฉ
2. Promise
3. Promise๋ฅผ ํ™œ์šฉํ•œ async/await

๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์˜ ๊ฐ ์„ค๋ช…์€ ๋‹ค์Œ์— ํ•˜๋‚˜์”ฉ ์ž์„ธํžˆ ๋‹ค๋ค„ ์†Œ๊ฐœํ•˜๊ฒ ๋‹ค !

 

 

 

์ฐธ๊ณ  : https://tlsdnjs12.tistory.com/12