Khi một trường lớp được truy cập thông qua một phương thức getter bởi nhiều luồng, làm thế nào để bạn duy trì an toàn luồng? Từ khóa được đồng bộ có đủ không?Làm thế nào để bạn đảm bảo nhiều luồng có thể truy cập một cách an toàn một trường lớp?
là an toàn này:
public class SomeClass {
private int val;
public synchronized int getVal() {
return val;
}
private void setVal(int val) {
this.val = val;
}
}
hoặc không setter giới thiệu các biến chứng hơn nữa?
tl; dr: đây không phải là an toàn chỉ. –