๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
iOS ๐ŸŽ/iOS

[Objective-C] atomic vs nonatomic

by yongmin.Lee 2021. 12. 6.
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์–ด๋–ค ํ”„๋กœํผํ‹ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์ฐธ์กฐํ•˜๊ณ  ์ด ํ”„๋กœํผํ‹ฐ์˜ ์ ‘๊ทผ์ž ๋ฉ”์„œ๋“œ๊ฐ€ atomic ํ•˜์ง€ ์•Š๋‹ค๋ฉด ํ•œ์ชฝ ์Šค๋ ˆ๋“œ์—์„œ๋Š” A๋ผ๋Š” ๊ฐ’์„ B๋ผ๋Š” ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ์ชฝ์—์„œ๋Š” ๊ทธ ๋•Œ ์ƒˆ๋กœ ์—…๋ฐ์ดํŠธ๋œ B๋ผ๋Š”๊ฐ’์ด ์•„๋‹Œ A๋ผ๋Š” ๊ฐ’์œผ๋กœ ์ฝ์–ด๊ฐ€๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ
  • atomic์œผ๋กœ ์„ค์ •๋œ Property์˜ getter/setter ๋ฉ”์†Œ๋“œ๋Š” lock์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ
  • ์ด๊ณผ์ •์—์„œ ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ ‘๊ทผ ํ•  ์ˆ˜ ์—†์–ด์„œ ์„ฑ๋Šฅ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒ

 

atomic

๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

(์•ˆ์ „์„ฑ up, ์ฒ˜๋ฆฌ์†๋„ down)

nonatomic

๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ๋ณด์žฅ๋˜์ง€ ์•Š์•„๋„ ๋  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

(์•ˆ์ „์„ฑ down, ์ฒ˜๋ฆฌ์†๋„ up)

'iOS ๐ŸŽ > iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

APNS, Apple Push Notification Service  (0) 2021.12.06
Responder chain (1)  (0) 2021.12.06
iOS Code Signing  (0) 2021.06.25
RxSwift  (0) 2021.05.18
RxSwift : ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ  (0) 2021.05.16