let
str =
"a"
func
operation(a:
String
){
@H_301_21@ objc_sync_enter(a) // 没有objc_asyn_xxxx
objc_sync_exit
@H_301_21@(a)
@H_301_21@}
@H_301_21@
@H_301_21@// 封装
@H_301_21@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(" 锁住 @H_301_21@\(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(" 锁住 @H_301_21@\(object.insert("A",atIndex: 0))")
@H_301_21@// }
原文链接:https://www.f2er.com/swift/323420.html