简介:这个函数的作用在于将用户注册到服务端。 app 内部会有多个 UI 事件可能会触发这个 function 。 function 内部主要是俩个方法各自开了若干的异步线程申请资源。
需求:当有一处地方正在调用该 function 函数的时候 [结束标志为[someCaller doSth1] 或者 [someCaller doSth2];] ,另外一个地方触发调用这个函数的事件不允许进入此处调用 function 。
尝试: 1.NSLock 加锁 不能在不同线程间加锁。 2.在 doSth1 和 doSth2 的位置放上一个属性,该属性在设置的时候加锁 — 未解决
。。不知道 api 里边还有没有其他锁有此功能,或者用其他的方法来实现。谢谢~
-(void) function{
//func1WithCallback 内部开若干异步线程
[caller1 func1WithCallback:^(id someData){
//func2WithCallback 内部开若干异步线程
[caller2 func2WithSuccessCallback:^(id someData2){
[someCaller1 doSth1];
}errorCallback:^(id someErrorStatusData3){
[someCaller2 doSth2];
}];
}];
}
谢谢您的解答。 祝新年快乐!