我想将Java代码转换为Objective C代码。而java代码包含定义为volatile的变量。我看了网上和“挥发”在使用Java作为follwingObjective C,将Java中的volatile变为Objective C的最佳方法是什么?
Essentially, volatile is used to indicate that a variable's value will be modified by different threads.
所以,如果我要设置变量为挥发性的目标C,因为变量是要由不同的线程访问,然后我不需要将这些变量设置为volatile,因为我可以将这些变量设置为原子?
我实际上并不知道Objective-C中的等价物,但我可以告诉你,Java中的“volatile”不是关于原子性的:它是关于缓存的。一个volatile成员变量不会被缓存在一个寄存器中,而是每次需要时从内存中获取。 – 2011-03-17 04:03:41
在Objective-C中需要'volatile'的情况非常罕见(几乎只用于硬件寻址)。如果你认为你需要变化,那么你总是会犯错。 – bbum 2011-03-17 06:18:50