Синхронизированный метод и доступ с другим потокомJAVA

Программисты JAVA общаются здесь
Anonymous
Синхронизированный метод и доступ с другим потоком

Сообщение Anonymous »

Когда один поток блокируется в синхронизированном методе объекта, имеет ли другой поток доступ к этому объекту через тот же или другой синхронизированный метод?
Действительно, будет ли заблокирован мой поток, если я использую wait() внутри такого синхронизированного метода?
class Product{
Product(){
q = 0;
}

synchronized void add(){
try{
notify();
System.out.println("1");
wait();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println("Zavrseno "+Thread.currentThread().getName());
notifyAll();
}

synchronized void reduce(){
try{
notify();
System.out.println("2");
wait();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
notifyAll();
System.out.println("Finished "+Thread.currentThread().getName());
}
int q;
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... her-thread

Вернуться в «JAVA»