1

如果我有一个 SomeClass 类型的变量和它的一个公共成员,比如说public int counter将被多个线程访问,如果我无法修改 SomeClass,我该如何声明该成员字段的易变性?理想情况下,我猜这counter将被宣布volatile,但我无法做到这一点。

4

1 回答 1

3

您要实现的目标与单独编译不兼容,因此是不可能的。volatile 限定符指示编译器在每次访问时对变量进行不同的处理,因此从模块到您无权访问的源对该变量的每次访问也需要更改。由于该模块已经编译,因此无法更改它处理某些变量的方式。

于 2012-08-25T03:57:28.467 回答