小编Ser*_*zov的帖子

GCD swift 4 线程安全

我有一个控制一些资源的功能,例如:

var resource: Int?

func changeSomeResources() {
    resource = 1
    // rewriting keychain parameters
    // working with UIApplication.shared
}
Run Code Online (Sandbox Code Playgroud)

然后我多次将此函数添加到全局线程

DispatchQueue.global(qos: .userInitiated).async {
    changeSomeResources()
}
DispatchQueue.global(qos: .userInitiated).async {
    changeSomeResources()
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,除了竞争条件之外,我是否会遇到一些线程问题?例如,如果两个函数将尝试同时更改资源

grand-central-dispatch swift

2
推荐指数
1
解决办法
1794
查看次数

标签 统计

grand-central-dispatch ×1

swift ×1