일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Siwft
- 카카오
- supervisely
- kakao 2018
- swift
- 카카오 2019
- 스위프트
- roboflow
- 카카오 2020
- swift 배열
- 머신러닝
- ios 개발 시작
- swift 시작
- c언어
- 프로그래머스
- 프로그래머스 답
- coco 데이터셋
- SwiftUI
- 날씨 앱
- 이미지학습
- 소수
- 파이썬
- fast.ai
- 카카오 2021
- 문제
- 카카오 2018
- Python
- 최솟값 만들기
- 데이터셋 만들기
- Kakao
- Today
- Total
잡초의 일지
[Swift] GCD(Grand Central Dispatch), DispatchQueue, Concurrency(동시성) 본문
[Swift] GCD(Grand Central Dispatch), DispatchQueue, Concurrency(동시성)
JabCho 2020. 11. 17. 18:14GCD
https://developer.apple.com/documentation/DISPATCH
Apple Developer Documentation
developer.apple.com
시스템에서 관리하는 디스패치 대기열에 작업을 제출하여 멀티코어 하드웨어에서 동시에 코드를 실행한다.
GCD는 FIFO이다.
GCD에서는 DispatchQueue를 사용한다.
DispatchQueue
1. Main Queue
- UI와 관련된 작업 (ex. UI 업데이트)
2. Global Queue
- 시스템에 의해 관리
- Queue의 우선순위인 QOS(Quality Of Service)가 4개로 나뉘어진다.
1순위: userInteractive
2순위: userInitiated
3순위: default
4순위: utility
5순위: background
3. Custom Queue
4. Global Queue와 Main Queue의 복합적인 이용 예시
Sync Vs. Async
https://alicecodealice.tistory.com/158
[Swift] [SwiftUI] 2020 Stanford ios development course cs193p Lecture 7, 8 정리
woongsios.tistory.com/210?category=710017 GCD, Dispatch 개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D 흔히 GCD라고.
alicecodealice.tistory.com
Sync : 앞의 작업이 끝나면 다음 작업을 한다
Async : 상관없이 작업한다
위의 경우, 노란색 이모지의 우선순위가 높다.
이 상태에서 async를 사용한다면, 굳이 보라색 이모지가 다 출력되지 않아도 노란색 이모지가 먼저 출력되는것을 볼 수 있다.
위의 경우에도 노란색 이모지의 우선순위가 더 높다.
하지만, sync를 사용하였기 때문에 보라색 이모지의 출력이 끝난 후에 노란색 이모지가 출력된다.
우선순위가 같은 경우에도 다음과 같이 출력된다.
'[코딩] 배우는것 > Swift' 카테고리의 다른 글
[Swift] [SwiftUI] 2020 Stanford ios development course cs193p Lecture 7, 8 정리 (1) | 2021.02.26 |
---|---|
[Swift] Swift for tensorflow (0) | 2021.01.20 |
[Swift] typealias (0) | 2020.08.09 |
[Swift] Generics 제네릭 (0) | 2020.07.14 |
[Swift] Object | Class | Data , Property , Method (0) | 2020.07.13 |