这是相当有据可查的@synthesize原子设置/干将与“东西”,像这样实现的:在合成访问器中的[_internal lock]与@synchronized(self)相同吗?
{
[_internal lock]; // lock using an object-level lock
id result = [[value retain] autorelease];
[_internal unlock];
return result;
}
我的情况,我想原子访问两个属性(即不其间开启锁) ,所以我的第一个直觉是使用@synchronized(self) - 但是我一直无法找到任何说如果@synchronized(self)使用相同的锁作为一个原子吸气/设置。有谁知道他们是否会这样做?
检查答案:http://stackoverflow.com/questions/1215330/how-does-synchronized-lock-unlock-in-objective-c – Macmade 2010-07-12 15:44:48
谢谢,这是肯定有趣的背景阅读,但除非我错过了,它不回答我的问题?它证实了@syncronised不使用NSLock,但我看不到什么原子getters/setter使用的描述。 – JosephH 2010-07-13 07:54:26