[JavaScript] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๋™์ž‘ ๋ฐฉ์‹

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ JavaScript, Python, Java์™€ ๊ฐ™์€ ํ•˜์ด ๋ ˆ๋ฒจ ์–ธ์–ด๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, C์–ธ์–ด ๊ฐ™์€ ๋กœ์šฐ ๋ ˆ๋ฒจ ์–ธ์–ด์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์œ„ํ•ด mallock()๊ณผ free()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. *๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Garbage Collection) ์“ธ๋ชจ ์—†์–ด์ง„ ๊ฐ์ฒด๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํ•ด์ œํ•˜๋Š” ๊ฒƒ - ์žฅ์  : ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. - ๋‹จ์  : ์–ธ์ œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ง„ํ–‰๋ ์ง€ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๊ณ , ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋“ ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ƒ์กด์ฃผ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์กด์ฃผ๊ธฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ด€๊ณ„์—†์ด ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. 1. ํ•„์š”ํ•  ๋•Œ ํ• ๋‹น 2. ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉ(์ฝ๊ธฐ, ์“ฐ๊ธฐ) 3. ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š” ์—†์–ด์ง€๋ฉด ํ•ด์ œ ์ด..

JavaScript 2022. 6. 20. 21:23
[JavaScript] ์“ฐ๋ ˆ๋“œ(Thread)

์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ(Single Thread) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์ธ ์ด๋ฒคํŠธ ๋ฃจํ”„๋กœ ๊ตฌ์„ฑ๋˜์–ด ์‹ฑ๊ธ€์“ฐ๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ด๋ฒคํŠธ ๋ฃจํ”„๋งŒ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €๋‚˜ Node.JS๊ฐ™์€ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž์ฒด๋Š” ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ์ด์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„์€ ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์•„๋‹˜! (** ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋Š” ๋ณดํ†ต ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์•Œ๋ ค์กŒ์žˆ์Œ) ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ๋กœ ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌ(Asynchronous) ๊ธฐ์กด ๋™๊ธฐ์‹ ์š”์ฒญ์€ ์ฝ”๋“œ๋ฅผ ํ•œ์ค„ ํ•œ์ค„ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•ž์˜ ์ž‘์—…์‹œ๊ฐ„์ด ๊ธธ์ˆ˜๋ก ์‹œ๊ฐ„ ๋ฐ ์ž์›์˜ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•ด์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ์š”์ฒญ์ด ์™„๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ๋™์‹œ์— ๋‹ค๋ฅธ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๋น„๋™๊ธฐ ํ˜ธ์ถœ๋กœ ์ด๋ฅผ..

JavaScript 2022. 6. 20. 20:32