首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Threadsafe readonly属性

Threadsafe readonly属性
EN

Stack Overflow用户
提问于 2013-01-20 02:19:43
回答 1查看 108关注 0票数 0

我有一个父类Networking和两个子类Upload : NetworkingDownload : Networking。网络有公共@property (readonly) BOOL isExecuting;@property (readonly) BOOL isDone;。我需要从子类中访问它们,但以线程安全的方式访问它们,因为操作将在单独的线程中进行。

实现它的优雅方式是什么?谢谢!

编辑:那么我的理解正确吗?这是Upload.m的一个示例

代码语言:javascript
复制
#import "Upload.h"
#import "Networking.h"

@interface Upload ()

@property (assign) BOOL isExecuting;

@end

@implementation Upload

- (void) setIsExecuting:(BOOL)isExecuting{
    @synchronized (self) {
        _isExecuting = isExecuting;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-01-20 02:47:57

因为你的属性是只读的,所以没有线程会继续改变它的值。所以在任何时候,在任何线程中,你都会得到相同的值。

因此,不需要担心这一点。

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

https://stackoverflow.com/questions/14417337

复制
相关文章

相似问题

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