Swift synchronized的替代方案

在OC中,在多线程操作时,为了保证线程安全,经常会用到synchronized,但是在Swift中取消了此关键字的操作,其相对应的替代方案如下:

public func MTSynchoronized(token: Any, block: ()->Void) {
    objc_sync_enter(token)
    defer {
        objc_sync_exit(token)
    }
    block()
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容