惰性属性初始化两次

时间:2018-11-21 07:35:38

标签: swift lazy-evaluation lazy-initialization

众所周知,惰性属性不是线程安全的

我的评估部分就是这样。

if someclass isInitialized {
     return someclass instance
}
else{
    initialize someclass
    return someclass instance
}

问题是

如果线程1看到某类未初始化,它将尝试这样做。

如果线程2在线程1开始之前发现某类未初始化,那么它也将尝试对其进行初始化。

因此它被初始化两次

我们可以通过懒惰属性克服这个问题吗?

0 个答案:

没有答案