일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- UITextView
- map
- SWIFT
- uiscrollview
- UICollectionView
- RxCocoa
- MVVM
- rxswift
- 리펙토링
- swiftUI
- Refactoring
- Xcode
- clean architecture
- collectionview
- 애니메이션
- swift documentation
- combine
- Protocol
- 클린 코드
- tableView
- uitableview
- Observable
- ribs
- 리펙터링
- ios
- Clean Code
- HIG
- Human interface guide
- 스위프트
- 리팩토링
- Today
- Total
목록dispatchSemaphore (2)
김종권의 iOS 앱 개발 알아가기
1. Concurrent Programming - NSLock, DispatchSemaphore 사용 방법 2. Concurrent Programming - DispatchSemaphore로 코틀린의 CompletableDeferred 구현방법 3. Concurrent Programming - DispatchQueue의 serial, concurrent, async, sync 이해하고 사용하기 4. Concurrent Programming - Thread Safe Array 구현방법 (DispatchQueue의 barrier 사용) 5. Concurrent Programming - OperationQueue로 동적으로 작업 추가, 취소하는 모듈 구현방법 NSLock 개념 (자세한 ThreadSafe개념과..
Semaphore 기본 지식 동시에 하나의 자원에 접근을 방지하게 할 수 있는 비동기 문제를 해결하는데 사용 여러 프로세스가 데이터를 공유하면서 작업을 수행할 때, 동시에 접근하는 안되는 자원을 동시에 접근할 수 없도록 막는 플래그 기능 * Critical Section: 동시에 접근하는 안되는 자원 Semaphore는 공유자원에 진입할 수 있는 허용 개수를 의미 (0이 되면 프로세스들의 공유 자원에 진입하는 것을 막는 것) var semaphore = 2 // 작업 1 수행 semaphore -= 1 // 현재 semaphore = 1 // 작업 2 수행 semaphore -= 1 // 현재 semaphore = 0 // 작업 3 수행 // 현재 semaphore가 0이므로 대기 Semaphore 연산..