Cập nhật cho nhanh 5
Hàng đợi nối tiếp
let serialQueue = DispatchQueue.init(label: "serialQueue")
serialQueue.async {
// code to execute
}
Hàng đợi đồng thời
let concurrentQueue = DispatchQueue.init(label: "concurrentQueue", qos: .background, attributes: .concurrent, autoreleaseFrequency: .inherit, target: nil)
concurrentQueue.async {
// code to execute
}
Từ tài liệu của Apple :
Thông số
nhãn
Một nhãn chuỗi để gắn vào hàng đợi để xác định duy nhất nó trong các công cụ gỡ lỗi như Dụng cụ, mẫu, ngăn xếp và báo cáo sự cố. Vì các ứng dụng, thư viện và khung công tác đều có thể tạo ra hàng đợi gửi riêng, nên nên đặt kiểu đặt tên DNS ngược (com.example.myqueue). Tham số này là tùy chọn và có thể là NULL.
số
Mức chất lượng dịch vụ để liên kết với hàng đợi. Giá trị này xác định mức độ ưu tiên mà tại đó hệ thống lên lịch các tác vụ để thực thi. Để biết danh sách các giá trị có thể, hãy xem DispatchQoS.QoSClass.
thuộc tính
Các thuộc tính để liên kết với hàng đợi. Bao gồm thuộc tính đồng thời để tạo ra một hàng đợi thực thi các nhiệm vụ đồng thời. Nếu bạn bỏ qua thuộc tính đó, hàng đợi công văn sẽ thực thi các nhiệm vụ một cách thanh thản.
autoreleaseFrequency
Tần suất để tự động phát hành các đối tượng được tạo bởi các khối mà hàng đợi lên lịch. Để biết danh sách các giá trị có thể, hãy xem DispatchQueue.AutoreleaseFrequency .
Mục tiêu
Hàng đợi đích để thực hiện các khối. Chỉ định DISPATCH_TARGET_QUEUE_DEFAULT nếu bạn muốn hệ thống cung cấp hàng đợi phù hợp với đối tượng hiện tại.