Mise à jour pour Swift 5
File d'attente série
let serialQueue = DispatchQueue.init(label: "serialQueue")
serialQueue.async {
// code to execute
}
File d'attente simultanée
let concurrentQueue = DispatchQueue.init(label: "concurrentQueue", qos: .background, attributes: .concurrent, autoreleaseFrequency: .inherit, target: nil)
concurrentQueue.async {
// code to execute
}
De la documentation Apple :
Paramètres
étiquette
Une étiquette de chaîne à attacher à la file d'attente pour l'identifier de manière unique dans les outils de débogage tels que les instruments, les échantillons, les photos de pile et les rapports de plantage. Étant donné que les applications, les bibliothèques et les frameworks peuvent tous créer leurs propres files d'attente de répartition, un style de dénomination DNS inversé (com.example.myqueue) est recommandé. Ce paramètre est facultatif et peut être NULL.
qos
Niveau de qualité de service à associer à la file d'attente. Cette valeur détermine la priorité à laquelle le système planifie les tâches à exécuter. Pour une liste des valeurs possibles, voir DispatchQoS.QoSClass.
les attributs
Les attributs à associer à la file d'attente. Incluez l'attribut concurrent pour créer une file d'attente de répartition qui exécute les tâches simultanément. Si vous omettez cet attribut, la file d'attente de répartition exécute les tâches en série.
autoreleaseFrequency
Fréquence de libération automatique des objets créés par les blocs que la file d'attente planifie. Pour une liste des valeurs possibles, voir DispatchQueue.AutoreleaseFrequency .
cible
La file d'attente cible sur laquelle exécuter les blocs. Spécifiez DISPATCH_TARGET_QUEUE_DEFAULT si vous souhaitez que le système fournisse une file d'attente appropriée pour l'objet actuel.