Questo riguarda il volatile sulle spalle. Scopo: voglio raggiungere una visibilità leggera dei vars. La coerenza di a_b_c non è importante. Ho un sacco di soldi e non voglio renderli tutti volatili.Piggyback volatile. È abbastanza per la visibilità?
È questo il codice threadsafe?
class A {
public int a, b, c;
volatile int sync;
public void setup() {
a = 2;
b = 3;
c = 4;
}
public void sync() {
sync++;
}
}
final static A aaa = new A();
Thread0:
aaa.setup();
end
Thread1:
for(;;) {aaa.sync(); logic with aaa.a, aaa.b, aaa.c}
Thread2:
for(;;) {aaa.sync(); logic with aaa.a, aaa.b, aaa.c}
Se la coerenza non è importante, perché ti importa se le variabili si sono sincronizzate? – cHao
Non mi interessa la coerenza ma mi interessa la visibilità. – temper
Quindi rendili pubblici? Ma allora perché taggare la domanda con la sincronizzazione? –