Serial Queue là gì?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
280 lượt xem
Swift junior

Serial Queue cho phép chúng ta thực hiện chỉ một tác vụ tại một thời điểm, bất kể cách thực thi, tức là Đồng bộ hay Bất đồng bộ. Tóm lại, mã được thực thi bởi Serial DispatchQueue không song song và phải đợi tác vụ đầu tiên hoàn thành. Cách thực hiện này còn được gọi là First In, First Out (FIFO).

Tất cả các hàng đợi cần phải đợi hoàn thành hàng đợi trước đó. Theo mặc định, DispatchQueue là một hàng đợi nối tiếp.

let queue = DispatchQueue(label: "com.swiftpal.dispatch.serial")

queue.async() {
   Thread.sleep(forTimeInterval: 3) // Wait for 3 seconds
   print("Task 1 Done")
} 

queue.async() {
   Thread.sleep(forTimeInterval: 1) // Wait for 1 second.
   print("Task 2 Done")
} 

/* Output:
Task 1 Done
Task 2 Done
*/
{{login.error}}