Dispatch
Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system.
๐์์คํ ์์ ๊ด๋ฆฌํ๋ ๋์คํจ์น ํ์๊ฒ work๋ฅผ ์ ์ถํ์ฌ, ๋ฉํฐ์ฝ์ด ํ๋์จ์ด์์ ์ฝ๋๋ฅผ ๋์์ ์ผ๋ก ์คํํ๋ ๊ฒ์ด๋ค.
๐GCD์์ Distpatch Queue๋ฅผ ์ ๊ณตํด์ฃผ์ด ์์ ํ ๋ฉํฐ ์ค๋ ๋ฉ์ด ๊ฐ๋ฅ
Queue (ํ)โ
์ปดํจํฐ์ ์๋ฃ๊ตฌ์กฐ ์ค ํ๋๋ก, FIFO(First In First Out)๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
โ๏ธmain(serial)
main ์ค๋ ๋์์ ์ฒ๋ฆฌ๋๋ serial ํ
ํ๋์ ์์ ์ด ๋๋์ผ ๋ ๋ค๋ฅธ ์์ ์ ์์ํ๋ ์ง๋ ฌ ๊ตฌ์กฐ
โ๏ธglobal(concurrent)
๋ฉํฐ ์ค๋ ๋ฉ์ผ๋ก ์ ์ฒด ์์คํ ์ ๊ณต์ ๋๋ concurrent ํ
๋์์ ์ฌ๋ฌ ์์ ์ ํ๋ ๋ณ๋ ฌ ๊ตฌ์กฐ
class func global(qos: DispatchQoS.QoSClass = .default) -> DispatchQueue
ํ๋ผ๋ฏธํฐ๋ qosโ๏ธQoS (Quality of Service)๋ DispatchQueue์์ ์ํ ํ ์์ ์ ๋ถ๋ฅํ์ฌ ์ค์๋์ ์ฐ์ ์์์ ๋ฐ๋ผ์ User-interactive, User-initiated, Utility, Background ๋ค๊ฐ๋ก ๊ตฌ๋ถ๋๋ค
'Programming > iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] ์ฝ์ด๋ฐ์ดํฐ ๋ณ๊ฒฝ (0) | 2021.07.07 |
---|---|
[iOS]QoS(Quality of Service) (0) | 2020.10.15 |
[iOS]๋์์ฑ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ (0) | 2020.10.11 |
[iOS] ํ์ ๋ชจ๋ฌ ๋ง๋ค๊ธฐ (0) | 2020.09.22 |
[iOS] UIKit์ ๋ํด ์์๋ณด๊ธฐ (0) | 2020.09.19 |