您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Swift变量是原子的吗?

Swift变量是原子的吗?

假设尚无底层文档,这还为时尚早,但是您可以从汇编中学习。料斗拆卸器一个很棒的工具。

@interface ObjectiveCar : NSObject
@property (nonatomic, strong) id engine;
@property (atomic, strong) id driver;
@end

在非原子和原子上分别使用objc_storeStrongobjc_setProperty_atomic,其中

class SwiftCar {
    var engine : AnyObject?    
    init() {
    }
}

使用swift_retainlibswift_stdlib_core并且显然没有内置线程安全性。

我们可以推测,@lazy稍后可能会引入其他关键字(类似于)。

:根据有关单例快速环境的此 ,可以使某些情况下线程对您安全,即:

class Car {
    static let sharedCar: Car = Car() // will be called inside of dispatch_once
}

private let sharedCar: Car2 = Car2() // same here
class Car2 {

}

:关注快速发展的建议https://github.com/apple/swift- evolution/blob/master/proposals/0030-property-behavior- decls.md-看起来像是@atomic自己实现行为成为可能。

Swift 2022/1/1 18:18:45 有366人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶