Многопоточность в iOS. Part I - Разбор вопросов с IOS собеседований
Как и обещал:
var sleepTaskArray = [UInt32]()
sleepTaskArray.append(3)
sleepTaskArray.append(7)
sleepTaskArray.append(15)
let semaphote = DispatchSemaphore(value: 1)
let queue = DispatchQueue(label: "queue", attributes: .concurrent)
for taskItem in sleepTaskArray {
serialQueue.async {
for i in 1...taskItem{
sleep(1)
print("TaskItem: \(taskItem), i: \(i)")
}
semaphote.signal()
}
semaphote.wait()
}