我有一个父类Networking
和两个孩子Upload : Networking
和Download : Networking
。网络有公开@property (readonly) BOOL isExecuting;
和@property (readonly) BOOL isDone;
。我需要从子类中访问它们,但是以线程安全的方式访问它们,因为操作将在单独的线程中进行。
实现它的优雅方式是什么?谢谢!
编辑:所以我能正确理解吗?这是Upload.m
的一个例子#import "Upload.h"
#import "Networking.h"
@interface Upload ()
@property (assign) BOOL isExecuting;
@end
@implementation Upload
- (void) setIsExecuting:(BOOL)isExecuting{
@synchronized (self) {
_isExecuting = isExecuting;
}
}
答案 0 :(得分:0)
由于您的属性是只读的,因此没有任何线程会继续更改其值。所以在任何一个线程中,你都会得到相同的价值。
因此无需担心。