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