首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uiimage.size,.CGColor,uicolor.CGColor线程安全在ios3中

uiimage.size,.CGColor,uicolor.CGColor线程安全在ios3中
EN

Stack Overflow用户
提问于 2011-05-29 02:23:02
回答 1查看 291关注 0票数 0

在ios3(3.1.2及更高版本)下,线程访问下列属性是否安全?

  1. uiImage.size
  2. uiImage.CGColor --编辑:噢,这应该是uiImage.CGImage
  3. uiColor.CGColor

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-29 03:02:46

这些属性都声明为nonatomic,这意味着它们没有多线程访问安全措施。当然,欢迎您在多个线程上访问这些属性,但是这样做会给您带来危险。

这是关于这个的文档。如果属性是在没有nonatomic的情况下声明的,那么在获取和设置值时将使用一个锁,确保每次只有一个线程访问该值。正如您可能预期的那样,这会对性能造成轻微的损失。当一个属性声明为nonatomic时,它仅仅意味着不使用任何锁。欢迎从任何您喜欢的线程获取和设置属性值。但是,与任何多线程值访问一样,线程可能会对该属性发生争用,这可能(在某些情况下)导致未定义的行为。

然而,通常情况下,你不必过多地担心这一点。这实际上只适用于其值可以从多个线程设置的属性。您感兴趣的属性(UIImage.sizeUIImage.CGImageUIColor.CGColor)都声明为readonly,这意味着在同时或以其他方式从多个线程访问这些值时没有什么可担心的。

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

https://stackoverflow.com/questions/6165599

复制
相关文章

相似问题

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