邁向一萬小時成長之路
[備忘錄] 記錄一些iOS開發時常用又容易忘的小東西
2014年4月22日 星期二
Thread安全
Thread之間存取變數的時間差可能導致變數存取的錯誤
- (void)setMyVar:(id)inMyVar {
[myVar release];
#warmming 這裡會有時間差
myVar = [inMyVar retain];
}
可以用Lock去鎖定,或是用下列的寫法來保證線程安全
- (void)setMyVar:(id)inMyVar {
id tmp = myVar;
myVar = [inMyVar retain];
[tmp release];
}
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言