同じプロパティ セットにアクセスする 2 つのスレッドがありますが、1 つはプロパティからの読み取りのみ、もう 1 つはプロパティへの書き込みのみです。
次のプロパティのうち、読み取り操作で同期する必要があるのはどれですか?また、書き込み操作で同期する必要があるのはどれですか?
@property (nonatomic) int myInt;
@property (nonatomic) NSInteger myInteger;
@property (nonatomic) CGImageRef cgImage;
@property (nonatomic, strong) UIImage *image;
@property (nonatomic, strong) NSMutableArray *array;
@property (nonatomic, strong) UIViewController *controller;
私の最初の本能は、すべての読み取りおよび書き込み操作を常に同期する必要があるということです。ただし、常に 1 つのスレッドが書き込みを行っており、1 つのスレッドが常に読み取りを行っているため、自分自身に自信がありません。確かに、確信が持てないので、常に同期することは「安全」ですが、実際には何が正しいのでしょうか?
何らかの理由で、myInt と myInteger は値渡しであるため、読み取りと書き込みのために同期する必要がないのではないかと感じています....?