我应该将NSLock声明为原子的,还是浪费时间,而锁本身应该不是原子的?
原子使设置和获取属性成为原子,如果不需要原子访问该属性,则可能仅在设置了属性之后才从多个线程读取该属性,那么它就不必是原子的。另外,该属性多久被调用一次,您需要经常在一个循环中对其进行调用,以注意到该属性是原子性的。您还可以执行诸如仅在方法中调用属性一次并保留对它的本地引用之类的事情,以减少原子化的开销。
对于属性,如果对是否需要原子性存在任何疑问,我通常将它们设为原子性,如果这会导致性能问题,我可以稍后再处理,但是由于非原子性而引入了错误,是更严重的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句