1、資源競爭:當每個執行緒都去訪問同一段記憶體時,會導致所謂i資源競爭問題,這時候可以通過“@synchronized block”將例項變數包圍起來,建立一個互斥鎖,
這樣你就可以確保在互斥鎖中的程式碼一次只能被一個執行緒訪問:
@synchronized(self){ a.object = value; }
2、原子性:將一個property宣告為atomic時,通常會把它包裹在一個@synchronized塊中,確保是執行緒安全的
@property (atomic, retain) NSString *myString; - (NSString *)myString { @synchronized (self) { return [[myString retain] autorelease]; } }