Swift synchronized的替代方案

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

public func MTSynchoronized(token: Any, block: ()->Void) {
    objc_sync_enter(token)
    defer {
        objc_sync_exit(token)
    }
    block()
}

你可能感兴趣的:(Swift synchronized的替代方案)