我被atomic和nonatomic属性的thread safe和non-thread-safe概念搞乱了,它的解释是:-
atomic表示thread safe,nonatomic表示non-thread-safe,nonatomic提供高性能。
@property (nonatomic, weak) NSArray *myArray;但是线程安全和非线程安全到底是什么意思呢?请用非常简单的方式解释!
发布于 2016-06-10 15:33:39
两者都是非线程安全的。
原子只是一个读写安全机制。
点击此处了解更多信息:
发布于 2016-06-10 15:36:57
首先,我们应该知道什么是线程。所有的iPhones都在使用多核处理器。通常,整个应用程序都在主线程中运行。(即在单核中运行)。
开发人员应该利用多核处理器的优势,创建独立的线程,以便在不同的内核中同时运行不同的进程。因此,我们提高了应用程序的效率。
假设您正在使用一个具有非原子属性的字符串,并且您在应用程序中使用了两个线程。当两个线程同时尝试更改/访问字符串时,结果将是不可预测的。因为我们不知道哪个进程会在哪个时间运行。
因此,在那个时候,我们必须使用属性原子来设置字符串。因此一次只有一个进程/线程处理该字符串。这样,我们就让它成为线程安全的。
https://stackoverflow.com/questions/37742258
复制相似问题