我想將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