일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데드락
- 오브젝트
- 인프런
- Algorithm
- forEach
- 비동기
- Swift
- 상호배제
- 앨런
- struct
- 프로세스 스케줄링
- decode
- 알고리즘
- Linked List
- 가상 메모리
- Apple Developer Academy
- COLOR
- SwiftUI
- deadlock
- IOS
- core data
- scrollview
- UserDefaults
- 동시성
- Codable
- @state
- 운영체제
- 100 days of SwiftUI
- 동기화
- async
Archives
- Today
- Total
목록주의 (1)
기어가더라도 제대로
5. GCD 사용시 주의해야할 사항
반드시 메인큐에서 처리해야하는 작업 UI 관련일들은 "메인큐" 에서 처리해야한다. 1번 스레드(메인 스레드) 는 계산 로직도 하지만, 화면 표시 작업도 담당한다. 화면을 표시하는 일은 한개의 쓰레드(메인큐, 메인쓰레드)에서만 담당해야한다. 1번 스레드에서도 화면을 업데이트하고 2번 스레드에서도 화면을 업데이트한다면? 그 작업이 같은 유아이작업을 했다면? 운영체제는 어떤 쓰레드의 결정을 따라야하는가? 작업의 끝에 UI를 업데이트 해야하는 경우라면 그 부분만 main 큐에 보내야한다. 다운로드 로직은 다른 큐에서 처리를 하고 이미지를 화면에 표시하는 작업은 Main 큐로 보내서 실행해야한다. 하나의 작업 안에서 다른 큐로 작업을 보낼 수 있다. urlSession의 dataT..
CS/동시성
2022. 9. 26. 21:01