아리의 iOS 탐구생활

atomically는 프로그래밍에서 무슨 뜻일까... 본문

Swift/문제해결

atomically는 프로그래밍에서 무슨 뜻일까...

Ari Lee 2021. 9. 13. 14:21
반응형
 

Apple Developer Documentation

 

developer.apple.com

NSString에서 write라는 메소드를 살펴보다가 용어가 궁금하여 찾아보았다.

 

 

true면 임시 저장소에 백업파일을 먼저 기록하고, 기록이 모두 성공하면 최종 데이터를 지정한 파일에 저장하게 된다.

원본 파일의 손상을 막을 수 있고 시스템이 크래시를 내는 일을 방지한다.

false를 준 뒤 fail이 나면 저장하고자 하는 파일이 충돌이 날 것이다.  빈 파일이라면 상관 없겠지만…

 

쉽게 얘기하면 true는 파일을 원자적으로 처리하고,  false는 원자적으로 처리하지 않는다.

속도면에서는 false가 빠를 수 있겠지만 충돌이 일어날 가능성이 있다.

반면 true는 원자적으로 처리하기 때문에 일어날 충돌을 방지해준다. (안전성이 보장된다는 말이 이런 뜻이겠지.)

프로그래밍에서 원자적(atomically)이라는 말의 뜻은 ‘분리할 수 없음’을 뜻한다

 

동시에 같은 파일 위치에 여러 스레드에서 접근할 수 있는데, 그것은 막아준다는 의미로 해석할 수 있다.

반응형
Comments