// 惯例来个Person类
class Person {
class func waitResult() -> [Int] {
let queue = DispatchQueue(label: "currentQueue", attributes: .concurrent)
let group = DispatchGroup()
// 创建信号量,value == 0 会被wait堵塞
// 等待signal() value == 1 释放堵塞
let semaphore = DispatchSemaphore(value: 0)
var arr = [Int]()
queue.async(group: group) {
// ...some....
sleep(3)
// 得到返回值
arr = [1]
// 释放信号量
semaphore.signal()
}
// 等待信号量释放
semaphore.wait()
return arr
}
}
print("开始")
print(Person.waitResult())
print("结束")
// 开始
// [1]
// 结束
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)