相关疑难解决方法(0)

单例中吸气剂和定位器的螺纹安全性

我在Swift 3中创建了一个简单的单例:

class MySingleton {
    private var myName: String
    private init() {}
    static let shared = MySingleton()

    func setName(_ name: String) {
        myName = name
    }

    func getName() -> String {
        return myName
    }
}
Run Code Online (Sandbox Code Playgroud)

由于我创建了init()私有的,也声明了shared实例static let,我认为初始化程序是线程安全的.但是getter和setter函数myName呢,它们是否安全?

ios swift swift3

12
推荐指数
2
解决办法
3309
查看次数

我们什么时候应该使用信号量 vs 调度组 vs 操作队列?

我们什么时候应该使用信号量 vs 调度组 vs 操作队列?

我的理解是:

使用信号量:当多个线程想要访问共享资源时。

Use Dispatch Group:当你想要的时候,你应该在所有线程(被添加到调度组)完成它们的执行后得到通知。

使用操作队列:当您希望操作 C 应在 A 和 B 完成执行后开始时。所以 A 和 B 依赖于 C。

我的理解是否正确?

multithreading ios swift

-1
推荐指数
1
解决办法
661
查看次数

标签 统计

ios ×2

swift ×2

multithreading ×1

swift3 ×1