首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objective-C中线程安全与非线程安全的区别

Objective-C中线程安全与非线程安全的区别
EN

Stack Overflow用户
提问于 2016-06-10 15:22:44
回答 2查看 462关注 0票数 0

我被atomicnonatomic属性的thread safenon-thread-safe概念搞乱了,它的解释是:-

atomic表示thread safenonatomic表示non-thread-safenonatomic提供高性能。

代码语言:javascript
复制
@property (nonatomic, weak) NSArray *myArray;

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

EN

回答 2

Stack Overflow用户

发布于 2016-06-10 15:33:39

两者都是非线程安全的。

原子只是一个读写安全机制。

点击此处了解更多信息:

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

票数 0
EN

Stack Overflow用户

发布于 2016-06-10 15:36:57

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

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

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

因此,在那个时候,我们必须使用属性原子来设置字符串。因此一次只有一个进程/线程处理该字符串。这样,我们就让它成为线程安全的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37742258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档