Grand Central Dispatch, Флаги Отправления WorkItem - PullRequest
0 голосов
/ 06 марта 2019

Какой из:

 public static let barrier: DispatchWorkItemFlags
 public static let detached: DispatchWorkItemFlags
 public static let assignCurrentContext: DispatchWorkItemFlags
 public static let noQoS: DispatchWorkItemFlags
 public static let inheritQoS: DispatchWorkItemFlags
 public static let enforceQoS: DispatchWorkItemFlags

по умолчанию DispatchWorkItemFlag?

Ответы [ 3 ]

2 голосов
/ 06 марта 2019

Каждый из этих параметров имеет свое значение, и по умолчанию не существует ни одного параметра.

Итак, вы, вероятно, спрашиваете, что является параметром по умолчанию для init(qos:flags:block:) (свойство элемента)DispatchWorkItem или его notify(qos:flags:queue:execute:) метод.

Итак, что касается документов, параметр по умолчанию пуст OptionSet.

1 голос
/ 06 марта 2019

Как обычно, ответ есть в документации :)

init (qos: DispatchQoS = .unspecified, flags: DispatchWorkItemFlags = [], block: @escaping () -> Void)

1 голос
/ 06 марта 2019

Быстрый ответ: Все из них, ни один из них.

DispatchWorkItemFlags - это набор опций, который настраивает поведение значения DispatchWorkItem , включая его класс качества обслуживания и возможность создания барьера или создания нового отдельного потока.

Когда вы добавляете задание в очередь, DispatchWorkItemFlags дает нам несколько вариантов выбора:

public func sync<T>(flags: DispatchWorkItemFlags, execute work: () throws -> T) 

    rethrows -> T

public static let barrier: DispatchWorkItemFlags
public static let detached: DispatchWorkItemFlags
public static let assignCurrentContext: DispatchWorkItemFlags

DISPATCH_BLOCK_ASSIGN_CURRENT Указывает, что блок отправки должен быть назначены атрибуты контекста выполнения, которые являются текущими в время создания объекта блока. ...

DISPATCH_BLOCK_BARRIER Указывает, что блок отправки должен действовать как барьерный блок при отправке в очередь DISPATCH_QUEUE_CONCURRENT. ...

DISPATCH_BLOCK_DETACHED Указывает, что должен выполняться блок отправки отсоединяется от текущих атрибутов контекста выполнения, таких как QoS class, os_activity_t и свойства текущего IPC-запроса, если любой. ...

Надеюсь, это помогло!

У тебя очень хороший день!

...