如果我有SomeClass类型的变量及其公共成员之一,那么多个线程将访问public int counter
,如果我无法修改SomeClass,如何在该成员字段上声明波动?理想情况下,我猜测counter
将被声明为volatile
,但我无法做到。
答案 0 :(得分:3)
您要实现的目标与单独编译不兼容,因此无法实现。 volatile限定符指示编译器在每次访问时以不同方式处理变量,因此从模块到您无法访问的源的每个对该变量的访问也需要更改。由于该模块已经编译,因此无法改变它处理某些变量的方式。