[iOS] 동시성 프로그래밍(7) - Thread-Safe
2023. 1. 14. 22:47
iOS/iOS
지난 포스팅을 통해 Race Condition, DeadLock, Priority Inversion과 같은 Concurrency Problem들에 대해 알아보았다. Race Condition은 Thread-Safe하게 코드를 작성함으로써 해결할 수 있다고 언급하였는데, 우선 Thread-Safe가 무엇인지에 대해 알아보자. Thread-Safe란 멀티 쓰레딩 환경에서 어떤 함수, 변수 혹은 객체가 여러 Thread로부터 동시에 접근하여도 프로그램의 실행에 문제가 없음을 의미한다. 엄밀히 말하자면, 동시에 여러 Thread에서 접근하여도 결과에 이상이 없음을 의미한다. 이러한 Thread-Safe를 지키기 위해 여러 가지 방법이 존재하는데, 이 중 Mutual Exclusion(상호 배제)을 알아보자. M..