2025/10/28 1

[Swift] Actor, isolated, nonisolated

Swift Concurrency๊ฐ€ ๋„์ž…๋œ ์ดํ›„,actor์™€ isolated, nonisolated ํ‚ค์›Œ๋“œ๋Š” ๋น„๋™๊ธฐ ์•ˆ์ „์„ฑ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์œผ๋กœ ์ž๋ฆฌ ์žก์•˜๋‹ค.ํ•˜์ง€๋งŒ ์ด ํ‚ค์›Œ๋“œ๋“ค์ด ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๊ณ , ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ํ˜ผ๋™ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.์ด๋ฒˆ ๊ธ€์—์„œ๋Š” 'Actor ๊ฒฉ๋ฆฌ(Actor Isolation)'์˜ ๊ฐœ๋…์„ ์ค‘์‹ฌ์œผ๋กœ ๋ช…ํ™•ํžˆ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. Actor๋ž€ ๋ฌด์—‡์ธ๊ฐ€? actor๋Š” '๋ฐ์ดํ„ฐ ๊ฒฝ์Ÿ(Data Race)'์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ "์ƒํƒœ ๋ณดํ˜ธ ๊ฐ์ฒด"์ด๋‹ค.ํด๋ž˜์Šค์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, actor๋Š” ๋‚ด๋ถ€ ์ƒํƒœ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ž๋™์œผ๋กœ ์ง๋ ฌํ™”ํ•œ๋‹ค.์ฆ‰, ํ•œ ์‹œ์ ์— ํ•˜๋‚˜์˜ task๋งŒ ๊ทธ ์ƒํƒœ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.actor Counter { private var value = 0 func increm..

๐ŸŒ™ 2025.10.28