var object = new Object() {
volatile int x;
};
new Thread(() -> {
synchronized (object) {
int x = object.x;
}
}).start();
synchronized (object) {
object.x = 123;
}
var object = new Object() {
volatile int x;
};
new Thread(() -> {
synchronized (object) {
int x = object.x;
}
}).start();
synchronized (object) {
object.x = 123;
}