일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 100 days of SwiftUI
- 가상 메모리
- 프로세스 스케줄링
- 오브젝트
- 비동기
- 운영체제
- 앨런
- deadlock
- 상호배제
- Linked List
- core data
- forEach
- 동시성
- SwiftUI
- async
- decode
- @state
- Swift
- Apple Developer Academy
- Codable
- IOS
- struct
- 알고리즘
- Algorithm
- 데드락
- UserDefaults
- 동기화
- scrollview
- COLOR
- 인프런
- Today
- Total
목록DispatchQueue (2)
기어가더라도 제대로
개요 system 함수를 호출 할 때 적지 않은 시간이 들것을 예상해야한다. 커널이나 다른 시스템 레이어에 문맥교환이 일어나면 프로세스에서 문백 교환이 일어나는 것보다 훨씬 비싼 자원이 소모된다. 그 결과 많은 시스템 라이브러리들은 비동기 작업 처리 인터페이스를 마련해놓았다. 덕분에 작업을 요청하고 요청이 처리되는 동안 다른 일들을 할 수 있다. GCD 는 블락과 디스패치 큐를 사용해서 요청을 제출하고 원래의 코드로 되돌아왔음을 알리는 결과를 가지는 일반적인 행동을 정립하였다. 디스패치 소스(Dispatch Source) 에 대해서 알아보기 Dispatch Source 는 저수준의 시스템 이벤트의 처리를 조율하는 근원적인 데이터 타입이다. GCD 는 다음과 같은 Dispatch Source 에 타입에 대..
iOS 에서 제공하는 두가지 작업 대기열이다. 직접적으로 쓰레드를 관리하지 않고, "큐(Queue)" (대기열/대기행렬)라는 개념을 이용해 작업을 분산처리 GCD / Operation 을 사용해 시스템에서 알아서 쓰레드 숫자를 관리함 쓰레드 보다 더 높은 레벨/차원에서 일을 한다고 보면됨? 오래걸리는 작업들이 비동기적으로 작업하도록 만들어준다. DispatchQueue "큐에 보낸다" 라는 뜻 클로저 안에 들어가는 코드는 작업(Task)의 한 단위 이다. 하나의 테스크 안에선 순차적으로 작업 // 선언하지 않고 큐를 사용 DispatchQueue.global().async { // 큐에 보낼거야.글로벌큐에.비동기적으로 // task here } // 선언하여 큐를 사용 let queue = D..