Global DispatchQueue ์ Qos ์๋ ์ด๋ค ์ข ๋ฅ๊ฐ ์๋์ง, ๊ฐ๊ฐ ์ด๋ค ์๋ฏธ์ธ์ง ์ค๋ช ํ์์ค.
- Prioritize Work with Quality of Service Classes - Zedd
- Concurrency Programming Guide - DispatchQueue
- Energy Efficiency Guide for iOS Apps - Prioritize Work with Quality of Service Classes
priority๊ฐ ๋์ ์์
์ ์ฐ์ ์์๊ฐ ๋ฎ์ ์์
๋ณด๋ค ๋ ๋นจ๋ฆฌ ์ํ๋๊ณ ๋ฆฌ์์ค๊ฐ ๋ง์ผ๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก priority๊ฐ ๋ฎ์ ์์
๋ณด๋ค ๋ ๋ง์ ์๋์ง๊ฐ ํ์ํฉ๋๋ค. ์ฑ์ด ์ํํ๋ ์์
์ ๋ํด ์ ์ ํ QoSํด๋์ค๋ฅผ ์ ํํ๊ฒ ์ง์ ํ๋ฉด, ์ฑ์ด ์๋์ง ํจ์จ์ ์ผ๋ฟ๋ง ์๋๋ผ, ๋ฐ์์ ์์ ๋ณด์ฅ ํ ์ ์์ต๋๋ค.
- 4๊ฐ์ primary QoS class
- User-interactive
- User-initiated
- Utility
- Background
- 2๊ฐ์ Special Quality of Service Classes
๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ด ๋๊ฐ์ ํด๋์ค์ ๋ ธ์ถ๋ ์ผ์ ์๋ค๊ณ ํ๋ค.
- Default
- Unspecified
Type | Qos Class | Type of work and focus of QoS | Duration of work to be performed |
---|---|---|---|
Primary | User-interactive | main thread์์ ๋์ํ๊ฑฐ๋ UI๋ฅผ ์๋ก๊ณ ์นจํ๊ฑฐ๋ ์ ๋๋ฉ์ด์ ์ ์ํํ๋ ๋ฑ ์ฌ์ฉ์์ ์ํธ์์ฉ ํ๋ ์์ ์ ๋๋ค. ๋ง์ฝ ์์ ์ด ์ ์ํ๊ฒ ์ํ๋์ง ์์ผ๋ฉด UI๊ฐ ๋ฉ์ถฐ๋ณด์ผ ์ ์์ต๋๋ค. ๋ฐ์์ฑ๊ณผ ์ฑ๋ฅ์ ์ค์ ์ ๋ก๋๋ค. | ์์ ์๊ฐ์ ๊ฑฐ์ ์ฆ๊ฐ์ ์ ๋๋ค. |
Primary | User-initiated | ์ฌ์ฉ์๊ฐ ์์ํ๋ ์์ ๊ทธ๋ฆฌ๊ณ ์ฆ๊ฐ์ ์ธ ๊ฒฐ๊ณผ๊ฐ ์๊ตฌ๋๋ ์์ ์ ๋๋ค. ์ ์ฅ๋ ๋ฌธ์๋ฅผ ์ด๊ฑฐ๋ ์ฌ์ฉ์๊ฐ UI์ ์กด์ฌํ๋ ์ด๋ค ๊ฒ์ ํด๋ฆญํ์ฌ ์ก์ ์ด ๋ฐ์ํ๋ ๋ฑ์ ์์ ์ด ๋ ์ ์์ต๋๋ค. UI๋ฅผ ๊ณ์ํด์ ์งํ๋๊ฒ ํ๊ธฐ ์ํด์๋ ๊ทธ ์์ ์ด ํ์ํฉ๋๋ค. ๋ฐ์์ฑ๊ณผ ์ฑ๋ฅ์ ์ค์ ์ ๋ก๋๋ค. | ์์ ์ ๋ช ์ด ์ดํ์ ๊ฐ์ด ๊ฑฐ์ ์ฆ๊ฐ์ ์ ๋๋ค. |
Primary | Utility | ์๋ฃ๊น์ง ์ฝ๊ฐ์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ฑฐ๋ ์ฆ๊ฐ์ ์ธ ๊ฒฐ๊ณผ๊ฐ ์๊ตฌ๋์ง ์๋ ์์ ์ ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ ๋ด๋ณด๋ด๋ ๋ฑ์ ์์ ์ด ๋ ์ ์์ต๋๋ค. Utility ์์ ๋ค์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ ์งํ ๋ง๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ฐ์์ฑ, ์ฑ๋ฅ ๋ฐ ์๋์ง ํจ์จ์ฑ ๊ฐ์ ๊ท ํ์ ์ ์งํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. | ์์ ์ ๋ช ์ด์์ ๋ช ๋ถ์ด ์์๋ฉ๋๋ค. |
Primary | Background | Background์์ ์ํ๋๋ฉฐ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง์ง ์๋ ์์ ์ ๋๋ค. ์ด๋ฅผํ ๋ฉด indexing, ๋๊ธฐํ ๋ฐ ๋ฐฑ์ ๋ฑ์. ์๋์ง ํจ์จ์ฑ์ ์ค์ ์ ๋ก๋๋ค. | ์์ ์ ์๋นํ ์๊ฐ์ด ์์๋ฉ๋๋ค. ์ ๋ถ์์ ์ ์๊ฐ. |
Special | Default | ์ด QoS์ priority level์ user-initiated์ utility์ฌ์ด์ ์์ต๋๋ค. ์ด QoS๋ ๊ฐ๋ฐ์๊ฐ ์์ ์ ๋ถ๋ฅํ๋๋ฐ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋๋ค. QoS์ ๋ณด๊ฐ ํ ๋น๋์ง ์์ ์์ ์ Default๋ก ์ฒ๋ฆฌ๋๋ฉฐ GCD global queue๋ ์ด level(default)์์ ์คํ๋ฉ๋๋ค. | - |
Special | Unspecified | ์ด๋ QoS์ ๋ณด๊ฐ ์์์ ๋ํ๋ด๋ฉฐ, ํ๊ฒฝ QoS(environmental QoS)๋ฅผ ์ถ๋ก ํด์ผ ํ๋ค๋ ๋จ์๋ฅผ ์์คํ ์ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ ๋๊ฐ ๊ธฐ์กด(legacy) API๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, Unspecified QoS๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๊ฒฝ์ฐ ์ฐ๋ ๋๊ฐ QoS๋ฅผ ๋ฒ์ด๋ ์ ์์ต๋๋ค. | - |