英语不是我的母语,对不起
这是一项超技能任务。我需要选择非原子操作的正确变体。
value = 500; // where value is int field
value++; // where value is volatile long field
value = 100_000_000_000L; // where value is volatile long field
value++; // where value is volatile int field
value = 100.1f; // where value is float field
volatile关键字不会使增量操作成为原子操作,因此它们现在已成为原子操作。我选所有具有基本类型的操作都是原子操作,我不选择它。在64位操作系统中,长值操作可能不是原子操作,关键字volatile只会使操作结果可见,关键字不会使该操作原子化,因此我也选择了它。为什么我的变体是错误的?为什么超技能与我不同意??
value ++; //值是易变的long字段 价值++; //值是volatile int字段