@synchronized(self.runningOperations) { line 1
[self.runningOperations addObject:operation]; line 2
}
当我调试这些代码时。首先它运行第1行,然后转到第2行。它的所有权利,但在此之后,它再次转到第1行,然后转到第2行,然后跳出@synchronized。 但是当我打印runningOperations时,第一次运行第2行代码时,Object不会添加到self.runningOperations中,它会在第二次添加。 为什么它会运行两次,以及为什么Object会在第二次添加到self.runningOperations中?@synchronized in Objective-C
和'self.runningOperations!= nil'? – trojanfoe
我觉得第一次操作对象可能不存在。 – SRI
@trojanfoe我将它添加到第1行和第2行之间,它也运行tiwce,但它第一次没有运行第2行([self.runningOperations addObject:operation];),所以在第一次self.runningOperations是零,但第二次,它运行第二行代码,所以在第二次,self.runningOperations不是零。这是什么情况? – SubCycle