這是相當有據可查的@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