【发布时间】:2016-08-30 20:14:39
【问题描述】:
当我运行以下代码时,命令行工具 Xcode 的控制台中没有任何内容输出:
import Foundation
class A {
var someValue = 0
let concurrentQueue = dispatch_queue_create("queue_for_property", DISPATCH_QUEUE_CONCURRENT)
func increaseValueBy1000() {
dispatch_barrier_async(concurrentQueue) {
for _ in 0 ..< 1000 {
let v = self.someValue + 1
print(v)
self.someValue = v
}
}
}
}
let instance1 = A()
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0)) {
instance1.increaseValueBy1000()
}
instance1.increaseValueBy1000()
我在控制台中没有看到任何打印语句。 如果我删除障碍线效果很好。 在这种情况下我做错了什么,为什么我的障碍不允许打印?
【问题讨论】: