์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

[๊ทธ๋ฆผ์œผ๋กœ์ดํ•ดํ•˜๋Š”] ๋™๊ธฐ(sync) ๋น„๋™๊ธฐ(async)์˜ ๊ฐœ๋…์— ๋Œ€ํ•œ ๊ฐ€์žฅ ์ง๊ด€์ ์ธ ์ดํ•ด

์•„์ฃผ ์‰ฝ๊ฒŒ ๋™๊ธฐ ๋น„๋™๊ธฐ์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” 19๋ถ„์ •๋„์˜ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๊ฐœ๋ฐœ ยท ํ”„๋กœ๊ทธ๋ž˜๋ฐ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ๋™๊ธฐ(sync) ๋น„๋™๊ธฐ(async)์˜ ๊ฐœ๋…์— ๋Œ€ํ•œ ์ดํ•ด

  • ์ง๋ ฌ(serial) ๋™์‹œ(concurrent) ์ฒ˜๋ฆฌ์˜ ๊ฐœ๋…์— ๋Œ€ํ•œ ์ดํ•ด

  • ์™œ ๋™์‹œ์„ฑ(concurrency) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ํ•„์š”ํ• ๊นŒ์š”?

๋™๊ธฐ(sync) ๋น„๋™๊ธฐ(async) ๊ฐœ๋…, "๊ทธ๋ฆผ์œผ๋กœ" ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ

์ง๊ด€์ ์ธ ๊ทธ๋ฆผ๊ณผ ์„ค๋ช…์œผ๋กœ ์•„๋ž˜์˜ ๊ฐœ๋…๋“ค์„ ๋‹จ๋ฒˆ์— ์ดํ•ดํ•ด ๋ณด์„ธ์š” :)

1) ๋™๊ธฐ(sync) / ๋น„๋™๊ธฐ(async)์˜ ๊ฐœ๋…
2) ์ง๋ ฌ(serial) / ๋™์‹œ(concurrent)์˜ ๊ฐœ๋…
3) ์™œ ๋™์‹œ์„ฑ(concurrency) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฐœ๋…์ด ํ•„์š”ํ• ๊นŒ?

์ €๋„ ์ฒ˜์Œ์— ๋™๊ธฐ, ๋น„๋™๊ธฐ์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์–‘ํ•œ ์˜ˆ์‹œ๋กœ ์„ค๋ช…์„ ๋“ค์œผ๋ฉฐ ๊ณต๋ถ€ํ•ด๋ดค์ง€๋งŒ, ์˜คํžˆ๋ ค ๋” ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„๋„ ์ƒ๊ธฐ๋”๋ผ๊ณ ์š”. ๋น„์ „๊ณต์ž๊ฐ€ ์ฒ˜์Œ ์ดํ•ดํ•˜๊ธฐ ์กฐ๊ธˆ ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„๋„ ์žˆ๊ณ .. ๊ทธ๋ž˜์„œ ์•„์˜ˆ ์ง๊ด€์ ์œผ๋กœ ์ง์ ‘ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ทธ๋ฆผ์œผ๋กœ ๊ตฌ์„ฑํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์“ฐ๋ ˆ๋“œ(Thread)๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ธ์ง€ ๊ทธ๋ฆผ์œผ๋กœ ๋ณด์‹œ๋ฉด ์ •ํ™•ํ•˜๊ฒŒ, ๋” ์ดํ•ด๊ฐ€ ๋น ๋ฅด์‹ค ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ด…๋‹ˆ๋‹ค. ๋‹จ๋ฒˆ์— ์ดํ•ด์‹œ์ผœ ๋“œ๋ ค๋ณผ๊ป˜์š” ^^

(๊ทธ๋™์•ˆ ์˜์ƒ์„ ํŽธ์ง‘ํ•˜์ง€ ๋ชปํ•˜๊ณ , ํ•œํ…Œ์ดํฌ๋กœ ์ฃผ์šฑ ์˜ฌ๋ ค๋†“์•˜์—ˆ๋Š”๋ฐ.. ์ง€๊ธˆ ๋‹ค์‹œ ๋ณด๋‹ˆ.. ํ˜ธํก, ๋ง ๋ฒ„๋ฒ… ๊ฑฐ๋ฆผ์ด ๋„ˆ๋ฌด ์‹ฌํ–ˆ๋„ค์š”.. ์˜์ƒ์„ ํŽธ์ง‘ํ•˜์—ฌ์„œ ์žฌ ์—…๋กœ๋“œ ํ•ด ๋†“์•˜์Šต๋‹ˆ๋‹ค.. 2020๋…„ 10์›” 6์ผ ๊ธฐ์ค€)


๊ทธ๋ฆฌ๊ณ , ํ˜น์‹œ๋‚˜ ๋™๊ธฐ / ๋น„๋™๊ธฐ์—์„œ ๋” ์ž์„ธํ•œ ๊ฐœ๋…์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š” Blocking / Non-Blocking์˜ ๊ฐœ๋…์„ ์•Œ๊ณ  ์‹ถ์œผ์‹  ๋ถ„์€ ์ƒˆ์†Œ์‹์—์„œ ํ™•์ธํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ^^
(์–ธ์–ด์— ๋”ฐ๋ผ์„œ ์ด ๊ฐœ๋…์ด ์กด์žฌํ•˜๊ธฐ๋„ ์•ˆ ํ•˜๊ธฐ๋„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•ด๋‹น ์–ธ์–ด์—์„œ Blocking / Non-Blocking ๊ฐœ๋…์„ ๋‹ค๋ฃจ๋Š”์ง€ ํ™•์ธํ•˜์‹œ๊ณ  ๋ณด์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์•„์š”.) 



ํ˜น์‹œ iOS๊ฐœ๋ฐœ์ž์‹œ๋ผ๋ฉด

iOS ๊ฐœ๋ฐœ๊ณผ ๊ด€๋ จ๋œ ์ž์„ธํ•œ ๊ฐ•์˜์ธ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋งž์ถค๊ฐ•์˜๋กœ ๊ฐ€์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค:

iOS Concurrency(๋™์‹œ์„ฑ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋™๊ธฐ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ  ๊ทธ๋ฆฌ๊ณ  GCD/Operation - ๋””์ŠคํŒจ์น˜ํ์™€ ์˜คํผ๋ ˆ์ด์…˜ํ์˜ ์ดํ•ด

๊ฐ•์˜ ์ฃผ์†Œ : https://bit.ly/2TmTlln

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์ฝ”๋”ฉ์„ ์ฒ˜์Œ ์ ‘ํ•˜์‹œ๋Š” ๋ถ„

  • ๋™๊ธฐ ๋น„๋™๊ธฐ์˜ ๊ฐœ๋…์ด ํ—ท๊ฐˆ๋ฆฌ์‹œ๋Š” ๋ถ„

  • ์ง๋ ฌ / ๋™์‹œ ์ฒ˜๋ฆฌ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ๊ณ ์‹ถ์œผ์‹  ๋ถ„

์•ˆ๋…•ํ•˜์„ธ์š”
์•จ๋Ÿฐ(Allen)์ž…๋‹ˆ๋‹ค.

7,039

๋ช…

์ˆ˜๊ฐ•์ƒ

644

๊ฐœ

์ˆ˜๊ฐ•ํ‰

281

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

7

๊ฐœ

๊ฐ•์˜

iOS๊ฐœ๋ฐœ์ž ์•จ๋Ÿฐ์ž…๋‹ˆ๋‹ค.
https://www.youtube.com/@allen_ios

์ œ๊ฐ€ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ์‰ฝ๊ฒŒ ํ’€์–ด๋‚ด์–ด
์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ ์‹ถ์Šต๋‹ˆ๋‹ค.

์‰ฌ์šด ์ฃผ์ œ๋กœ ๋น ๋ฅธ ์‹œ๊ฐ„ ์•ˆ์— ๊ฒ‰ํ•ฅ๊ธฐ ์‹์œผ๋กœ ์‰ฝ๊ฒŒ๋งŒ ๊ฐ€๋ฅด์น˜๋Š” ๊ฐ•์˜๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์—๋Š” ๊ด€์‹ฌ์ด ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๊ฐ•์˜๋Š” ์–ผ๋งˆ๋“ ์ง€ ๋น ๋ฅด๊ฒŒ ์ฐ์–ด๋‚ด๋“ฏ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, ๊ฒฐ๊ตญ "์ข‹์€ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅ"ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋งŒํผ ์ด๋ก ์ ์ธ ๊ธฐ๋ฐ˜์˜ ๋ฐ‘๊ฑฐ๋ฆ„์ด ํƒ„ํƒ„ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋ฏฟ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์‰ฌ์šด ๊ฐ•์˜๋ณด๋‹ค๋Š”, ์ข‹์€ ๊ฐœ๋ฐœ์ž(๋์ž„์—†์ด ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž)๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด
๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•˜๋Š” ์–ด๋ ค์šด ๋‚ด์šฉ๊นŒ์ง€๋ฅผ ์ตœ๋Œ€ํ•œ ์‰ฝ๊ฒŒ, ๊ทธ๋ฆฌ๊ณ  ์ง๊ด€์ ์œผ๋กœ ์•Œ๋ ค๋“œ๋ฆฌ๋Š” ๊ฒƒ.
๊ทธ๋ž˜์„œ ์ œ๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ๋ถ„ ์Šค์Šค๋กœ ๊ณ ๋ฏผ/์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ‘๊ฑฐ๋ฆ„์„ ๋งŒ๋“ค์–ด ๋“œ๋ฆฌ๋Š” ๊ฒƒ์„ ์ €์˜ ๊ฐ•์˜ ๋ชฉํ‘œ๋กœ ์‚ผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ € ์Šค์Šค๋กœ๋„ ๋‚ด์ผ์€ ๋” ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์ž๋Š” ๋ชจํ† ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋งŒํผ
์ œ๊ฐ€ ๊ณ ๋ฏผ ํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ๊นŠ์ด์žˆ๊ฒŒ ์ „๋‹ฌ ๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.


๐Ÿ‘‡๐Ÿป๋ฌธ์˜๋Š” ์•„๋ž˜์˜ ์ด๋ฉ”์ผ๋กœ ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

we.love.code.allen@gmail.com


์–ธ์–ด: Swift(์Šค์œ„ํ”„ํŠธ), Python, Java, C#

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

2๊ฐœ โˆ™ (18๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!

๋ฌด๋ฃŒ