let
str =
"a"
func
operation(a:
String
){
objc_sync_enter(a) // 没有objc_asyn_xxxx
objc_sync_exit
(a)
}
// 封装
Lock.swift
func
Lock(object:
AnyObject
,callBack:()->()){
开始执行 , 加锁 !" )
objc_sync_enter (object)
执行中 ..." )
callBack()
objc_sync_exit (object)
执行完毕 解锁 " )
}
// 实例 :
// let object = "aaa"
// Lock(object) { () -> () in
// print(" 锁住 \(object)")
// }
编译会报错 :
// var object:String = "aaa"
// Lock(object) { () -> () in
// print(" 锁住 \(object.insert("A",atIndex: 0))")
开始执行 , 加锁 !" )
objc_sync_enter (object)
执行中 ..." )
callBack()
objc_sync_exit (object)
执行完毕 解锁 " )
}
// 实例 :
// let object = "aaa"
// Lock(object) { () -> () in
// print(" 锁住 \(object)")
// }
编译会报错 :
// var object:String = "aaa"
// Lock(object) { () -> () in
// print(" 锁住 \(object.insert("A",atIndex: 0))")
// }
原文链接:https://www.f2er.com/swift/323420.html