init(qos:flags:block:)
Creates a new dispatch work item from an existing block and assigns it the specified quality-of-service class.
Declaration
init(qos: DispatchQoS = .unspecified, flags: DispatchWorkItemFlags = [], block: @escaping () -> Void)Parameters
- qos:
The quality-of-service class to use when prioritizing the work item’s execution. For a list of possible values, see Dispatchqos.
- flags:
Configuration flags for the work item. For a list of possible values, see Dispatchworkitemflags.
- block:
The block that performs the work.
Discussion
Submit the returned dispatch work item to a queue to schedule it for execution in that queue. Dispatch queues may alter the specified quality-of-service level based on the specified flags and the quality-of-service level of the queue’s underlying threads. However, the queue never executes the block with a quality-of-service level lower than the one in the qos parameter.
You can also execute the dispatch work item directly in the current context by calling its perform() method. When performing a work item directly, the system never executes the block with a quality-of-service level lower than the one in the qos parameter.