Вопросы с тегом «synchronized»

381
Избегать синхронизации (это) в Java?

Всякий раз, когда в SO возникает вопрос о синхронизации Java, некоторые люди очень хотят указать, чего synchronized(this)следует избегать. Вместо этого, они утверждают, что блокировка частной ссылки должна быть предпочтительной. Некоторые из приведенных причин: какой-то злой код может украсть вашу...

233
Разница между изменчивым и синхронизированным в Java

Меня интересует разница между объявлением переменной как volatile и всегда доступ к переменной в synchronized(this)блоке в Java? По этой статье http://www.javamex.com/tutorials/synchronization_volatile.shtml многое можно сказать и есть много различий, но также есть и некоторые сходства. Я особенно...

210
По какой причине синхронизация не допускается в интерфейсных методах Java 8?

В Java 8 я могу легко написать: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } } Я получу полную семантику синхронизации, которую я могу использовать и в классах. Однако я не могу...

191
Java синхронизирует метод блокировки объекта или метода?

Если у меня есть 2 синхронизированных метода в одном и том же классе, но каждый имеет доступ к разным переменным, могут ли 2 потока получить доступ к этим двум методам одновременно? Происходит ли блокировка объекта или он становится таким же специфичным, как переменные внутри синхронизированного...

164
Если я синхронизировал два метода в одном классе, могут ли они работать одновременно?

Если я синхронизировал два метода в одном и том же классе, могут ли они одновременно работать на одном и том же объекте ? например: class A { public synchronized void methodA() { //method A } public synchronized void methodB() { // method B } } Я знаю, что не могу methodA()дважды запустить один и...

148
Синхронизированные статические методы Java: блокировка объекта или класса

Документация Java гласит: Невозможно чередовать два вызова синхронизированных методов для одного и того же объекта. Что это значит для статического метода? Поскольку статический метод не имеет связанного объекта, будет ли синхронизированное ключевое слово блокироваться на классе, а не на...

91
Синхронизация незавершенного поля

Предупреждение отображается каждый раз, когда я синхронизирую неокончательное поле класса. Вот код: public class X { private Object o; public void setO(Object o) { this.o = o; } public void x() { synchronized (o) // synchronization on a non-final field { } } } поэтому я изменил кодировку следующим...