Синхронизированный метод и доступ с другим потоком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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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