Objective-C 中线程安全和非线程安全之间的区别



我搞砸了thread safe的概念和atomicnonatomic属性属性non-thread-safe概念,其解释是:-

atomic意味着thread safenonatomic意味着non-thread-safenonatomic提供高性能。

@property (nonatomic, weak) NSArray *myArray;
但是线程安全

和非线程安全到底是什么意思?请用非常简单的方式解释!

两者都是非线程安全的。

原子只是一个读写安全。

阅读更多关于这里的信息:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Multithreading/ThreadSafety/ThreadSafety.html

首先,我们应该知道什么是线程。所有的iPhone都使用多核处理器。通常,整个应用程序在主线程中运行。(即在单核中运行)。

开发人员应利用多核处理器并创建单独的线程以在不同的内核中同时运行不同的进程。因此,我们提高了应用程序的效率。

假设你正在使用具有非原子属性的字符串,并且你在应用中使用两个线程。 当两个线程尝试同时更改/访问字符串时,结果将是不可预测的。 因为我们不知道哪个进程将在哪个时间运行。

所以,那时,我们必须设置带有属性原子的字符串,以便一个进程/线程一次处理字符串。像这样,我们正在使其线程安全。

最新更新