Дозвольте використати цей невеликий і простий зразок:
class Sample {
private String msg = null;
public void newmsg(String x){
msg = x;
}
public String getmsg(){
String temp = msg;
msg = null;
return temp;
}
}
Припустимо, функція newmsg()
викликається іншими потоками, до яких я не маю доступу.
Я хочу використовувати метод synchonize, щоб гарантувати, що рядок msg
використовується лише однією функцією за раз. Іншими словами, функція newmsg()
не може працювати одночасно з getmsg()
.