Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 可可非原子性质_Objective C_Cocoa_Properties_Atomicity - Fatal编程技术网

Objective c 可可非原子性质

Objective c 可可非原子性质,objective-c,cocoa,properties,atomicity,Objective C,Cocoa,Properties,Atomicity,当您查看一些Objective-C代码时,通常会看到定义为非原子的类属性。为什么?当您不使用线程时,它是否会提高性能,或者有其他原因吗?非原子访问器更快,因为它们不必锁定。这就是全部。从: 如果未指定非原子的,则在引用计数环境中,对象属性的合成get访问器使用锁并保留和自动删除返回值。实现类似于以下内容: [_internal lock]; // lock using an object-level lock id result = [[value retain] autorelease]; [

当您查看一些Objective-C代码时,通常会看到定义为非原子的类属性。为什么?当您不使用线程时,它是否会提高性能,或者有其他原因吗?

非原子访问器更快,因为它们不必锁定。这就是全部。从:

如果未指定非原子的,则在引用计数环境中,对象属性的合成get访问器使用锁并保留和自动删除返回值。实现类似于以下内容:

[_internal lock]; // lock using an object-level lock
id result = [[value retain] autorelease];
[_internal unlock];
return result;
如果指定非原子的,则对象属性的合成访问器直接返回值


非原子
访问器速度更快,因为它们不必锁定。这就是全部。从:

如果未指定非原子的,则在引用计数环境中,对象属性的合成get访问器使用锁并保留和自动删除返回值。实现类似于以下内容:

[_internal lock]; // lock using an object-level lock
id result = [[value retain] autorelease];
[_internal unlock];
return result;
如果指定非原子的,则对象属性的合成访问器直接返回值


谢谢你这么快的回答。在我知道非原子性质是如何工作的之前,我只是不知道使用它们的好处:-)谢谢你这么快的回答。我以前知道非原子性质是如何工作的,我只是不知道使用它们的好处:-)可能的重复