Swift 5 için güncelleme
Seri Sıra
let serialQueue = DispatchQueue.init(label: "serialQueue")
serialQueue.async {
// code to execute
}
Eşzamanlı Sıra
let concurrentQueue = DispatchQueue.init(label: "concurrentQueue", qos: .background, attributes: .concurrent, autoreleaseFrequency: .inherit, target: nil)
concurrentQueue.async {
// code to execute
}
Gönderen Elma belgelerinde :
Parametreler
etiket
Kuyruğa Aletler, örnek, yığın görüntüleri ve kilitlenme raporları gibi hata ayıklama araçlarında benzersiz olarak tanımlamak için kuyruğa eklenecek dize etiketi. Uygulamalar, kütüphaneler ve çerçevelerin tümü kendi dağıtım kuyruklarını oluşturabildiğinden, ters DNS adlandırma stili (com.example.myqueue) önerilir. Bu parametre isteğe bağlıdır ve NULL olabilir.
qos
Kuyrukla ilişkilendirilecek hizmet kalitesi düzeyi. Bu değer, sistemin görevleri yürütme için zamanlama önceliğini belirler. Olası değerlerin listesi için bkz. DispatchQoS.QoSClass.
Öznitellikler
Kuyrukla ilişkilendirilecek öznitelikler. Görevleri aynı anda yürüten bir gönderme kuyruğu oluşturmak için eşzamanlı özniteliği ekleyin. Bu özniteliği atlarsanız, gönderme kuyruğu görevleri seri olarak yürütür.
autoreleaseFrequency
Sıranın zamanladığı bloklar tarafından oluşturulan nesnelerin otomatik olarak serbest bırakılma sıklığı. Olası değerlerin listesi için, bkz. DispatchQueue.AutoreleaseFrequency .
hedef
Blokların çalıştırılacağı hedef kuyruk. Sistemin geçerli nesne için uygun bir kuyruk sağlamasını istiyorsanız DISPATCH_TARGET_QUEUE_DEFAULT belirtin.