atomic只是保證了操作的原子性,原子操作即乙個操作不可再分。
atomic只是對讀寫操作進行了加鎖,保證了多執行緒開發時乙個讀寫操作完成之後才能進行下乙個讀寫操作
atomic和執行緒安全沒有太大的關係,舉例:如果a,b,c都在進行寫的操作,d進行讀操作,d就會讀取到隨機的值(abc不清楚誰修改的),這就不是執行緒安全了,要想保住執行緒安全必須加鎖
-(void)setname:(nsstring *)name{
@synchronized(self){
if(_name!=name){
[_name release];
_name = [name copy];
-(nsstring *)name{
@synchronized(self){
return _name;
用atomic一定是執行緒安全的嗎
void setprop nsstring newvalue 按我理解 1.此處的執行緒安全是就getter,setter而言的。比如對於 property nonatomic,copy nsstring str 當呼叫self.str hello,guy 如果是多執行緒,在乙個執行緒執行sette...
使用atomic一定是執行緒安全的嗎?
這個問題很少遇到,但是答案當然不是。atomic在set方法裡加了鎖,防止了多執行緒一直去寫這個property,造成難以預計的數值。但這也只是讀寫的鎖定。跟執行緒安全其實還是差一些。看下面。inte ce monperson nsobject property copy nsstring firs...
多執行緒一定快嗎?
package com.itmyhome.test 測試併發執行和序列執行的效率 author tracymcgrady public class concurrencytest catch interruptedexception e serial 併發執行 private static void...