Swift synchronized的替代方案
2018-09-13 本文已影响0人
ManThirty
在OC中,在多线程操作时,为了保证线程安全,经常会用到synchronized
,但是在Swift中取消了此关键字的操作,其相对应的替代方案如下:
public func MTSynchoronized(token: Any, block: ()->Void) {
objc_sync_enter(token)
defer {
objc_sync_exit(token)
}
block()
}