[iOS] Multi-threading๊ณผ Concurrency(1) : Thread, Queue, Race Condition

ํ”„๋กœ์„ธ์Šค, ์Šค๋ ˆ๋“œ, ๋™์‹œ์„ฑ, ๋ณ‘๋ ฌ์„ฑ ๋“ฑ์€ iOS ๋ณด๋‹ค ๋” low-level๋กœ ๋“ค์–ด๊ฐ€ ์šด์˜์ฒด์ œ์™€ ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ธ€์€ ๊ถ๊ทน์ ์œผ๋กœ GCD์™€ Operation Queue๋ฅผ ๋‹ค๋ฃจ๊ณ  ์‹ถ์œผ๋‹ˆ iOS ๊ฐœ๋ฐœ ๊ด€์ ์— ๋งž๊ฒŒ ๊ธ€์„ ํ’€์–ด๋ณผ๊ฒŒ์š”~ Concurrency ๋™์‹œ์„ฑ์€ ์—ฌ๋Ÿฌ ์ž‘์—…๋“ค์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ์ž…๋‹ˆ๋‹ค. ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด ์‹ฑ๊ธ€ ์ฝ”์–ด์—์„œ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์ด๋‹ˆ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ '์ฒ˜๋Ÿผ' ๋ณด์ด๋Š” ์„ฑ์งˆ์ด์ฃ . ๋ฉ€ํ‹ฐ ์ฝ”์–ด ํ™˜๊ฒฝ์ด ํ•„์š”ํ•œ ๋ณ‘๋ ฌ์„ฑ(Parallelism)๊ณผ ์ž์ฃผ ๋น„๊ต๋˜๋Š” ๊ฐœ๋…์ด์ง€๋งŒ ์ด ๊ธ€์—์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์„๊ฒŒ์š”! ์ž‘์—…๋“ค์€ ์Šค๋ ˆ๋“œ์—์„œ ์‹คํ–‰์ด ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์— ๋น„์œ ํ•ด๋ณด์ž๋ฉด ์ฐจ = ์ž‘์—…, ์ฐจ์„  = ์Šค๋ ˆ๋“œ ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”. ๋ณด์‹œ๋‹ค์‹œํ”ผ ๋ฒ„์Šค์ „์šฉ์ฐจ๋กœ๋Š” ๋ปฅ ๋šซ๋ ค์žˆ๋Š” ๋ฐ˜๋ฉด ์ผ..

iOS 2021. 11. 7. 05:26