Perbarui untuk cepat 5
Antrian serial
let serialQueue = DispatchQueue.init(label: "serialQueue")
serialQueue.async {
// code to execute
}
Antrian Bersamaan
let concurrentQueue = DispatchQueue.init(label: "concurrentQueue", qos: .background, attributes: .concurrent, autoreleaseFrequency: .inherit, target: nil)
concurrentQueue.async {
// code to execute
}
Dari dokumentasi Apple :
Parameter
label
Label string untuk dilampirkan ke antrian untuk mengidentifikasi secara unik di alat debugging seperti Instrumen, sampel, stackshots, dan laporan kerusakan. Karena aplikasi, perpustakaan, dan kerangka kerja semuanya dapat membuat antrian pengiriman sendiri, gaya penamaan DNS-terbalik (com.example.myqueue) direkomendasikan. Parameter ini opsional dan bisa NULL.
qos
Tingkat kualitas layanan untuk dikaitkan dengan antrian. Nilai ini menentukan prioritas di mana sistem menjadwalkan tugas untuk dieksekusi. Untuk daftar nilai yang mungkin, lihat DispatchQoS.QoSClass.
atribut
Atribut untuk dikaitkan dengan antrian. Sertakan atribut konkuren untuk membuat antrian pengiriman yang menjalankan tugas secara bersamaan. Jika Anda menghilangkan atribut itu, antrian pengiriman menjalankan tugas secara seri.
autoreleaseFrequency
Frekuensi untuk melakukan autorelease objek yang dibuat oleh blok yang dijadwalkan antrian. Untuk daftar nilai yang mungkin, lihat DispatchQueue.AutoreleaseFrequency .
target
Antrean target untuk menjalankan blok. Tentukan DISPATCH_TARGET_QUEUE_DEFAULT jika Anda ingin sistem memberikan antrian yang sesuai untuk objek saat ini.