atomic和nonatomic的区别

atomic和nonatomic都是修饰属性的关键字,atomic表示这个属性具有原子性,nonatomic反之,原子性的意思就是使用了atomic修饰的属性,系统在生成它的get/set方法的时候(这两个都有吗?)会对对象加锁,即一个线程在设置该对象的属性的时候,另一个对象是无法对这个属性做修改的,保证了线程安全。

但是atomic并不是绝对的线程安全,当有两个线程A和B的时候,当a在线程安全的set方法里设置完值以后,线程b立马对改属性赋值,那么a执行get以后取到的并不是刚才自己设置的值,所以,atomic只是提高了线程安全的安全性,但并不是100%的线程安全。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容