Đây là về heo đất dễ bay hơi. Mục đích: Tôi muốn đạt được một chiếc vars nhẹ có tầm nhìn. Tính nhất quán của a_b_c không quan trọng. Tôi có một loạt các vars và tôi không muốn làm cho chúng trở nên dễ bay hơi.Con heo đất dễ bay hơi. Điều này có đủ cho sự hiển thị không?
Mã này có an toàn không?
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}
Nếu tính nhất quán không quan trọng, tại sao bạn quan tâm liệu các biến có được đồng bộ hóa không? – cHao
Tôi không quan tâm đến tính nhất quán nhưng tôi quan tâm đến sự hiển thị. – temper
Sau đó, chỉ cần đặt chúng ở chế độ công khai? Nhưng sau đó tại sao gắn thẻ câu hỏi với đồng bộ hóa? –