[iOS] 동시성 프로그래밍(5) - DispatchSemaphore
2023. 1. 4. 21:35
iOS/iOS
Semaphore동시성 프로그래밍에서는 여러 작업들이 공유 자원을 사용하기 때문에, 여러가지 문제가 발생한다. 이러한 문제들은 둘 이상의 작업들이 공유자원에 접근하면 문제가 생기는 코드 영역인 Critical Section에서 발생하는데, 공유자원에 접근하여 발생하는 문제 중 하나로 두 작업의 접근 순서에 따라 결과가 바뀌는 문제가 있다.for _ in 1...5 { let group = DispatchGroup() var someNumber = 10 DispatchQueue.global().async(group: group) { someNumber *= 10 } DispatchQueue.global().async(group: group) { ..