Note: iOS 8+ should use QoS instead of system default queues (times showed are just examples)
- User-interactive: UI feedback. Such as animation. (<1s)
- User-initiated: UI works that required in order to continue the interaction. Such as opening a file. (1~3s)
- Utility: UI works that have no need for an immediate result. Such as downloading a file. (3s~3m)
- Background: Non-UI works. Such as indexing, backup. (3m~3h)