Результаты поиска по запросу "synchronized"

1 ответ

Статический или нестатический объект блокировки в синхронизированном блоке

Попытка визуализировать и понятьсинхронизация. Каковы различия между использованиемстатический объект блокировки(код А) и нестатический объект блокировки(код B) длясинхронизированный блок?Чем он отличается в практическом применении?Какие ...

3 ответа

Почему звонки в основном не последовательные?

Я просматривал несколько простых примеров потоков / синхронизации из книги, в которой утверждается, чтоsynchronized разрешит доступ к методу одним потоком, вызываемым в том же экземпляре. Он сериализуется, как и было обещано, но кажется, что в ...

9 ответов

Обратите внимание, что конструкторы не могут быть синхронизированы - использование синхронизированного ключевого слова с конструктором является синтаксической ошибкой. Синхронизация конструкторов не имеет смысла, потому что только поток, который создает объект, должен иметь доступ к нему во время его конструирования.

сно сспецификация языка Java [http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.8.3] Конструкторы не могут быть помечены как синхронизированные, потому что другие потоки не могут видеть создаваемый объект, пока поток, создающий ...

ТОП публикаций

2 ответа

 выполнить их изменения к значению, хранимому атомарно. Для большинства вещей, в которых вы раньше использовали volatile, классы Atomic могут работать лучше.

едующим классом, // This class should be thread-safe!!! class BankAccount { private long balance; // Should it be volatile? synchronized void deposit(long amount) { // ... balance += amount; } synchronized void withdraw(long amount) { // ... ...

1 ответ

http://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/

ал наНабор инструкций виртуальной машины Java [http://java.sun.com/docs/books/jvms/second_edition/Java5-Instructions2.pdf]и заметил, что при использовании инструкций для вызова методов (например, invokestatic, invokevirtual и т. д.), помеченных ...

6 ответов

синхронизированный метод или использовать пружину @transactional?

У меня есть метод, который будет использоваться для отправки электронной почты. я хочу заблокировать этот метод, чтобы только один поток мог его использовать одновременно, а остальной пул одновременно. я должен синхронизировать метод ...

1 ответ

Извините, вы меня не так поняли, я имел в виду ответ @chrylis на этот вопрос и ответ Kineolyan на другой мой вопрос. Я не думаю, что они оба могут быть правильными. Я сделал upvote как

тно, что JVM не должна переупорядочивать операторы внутри синхронизированного блока за пределами синхронизированного блока. Учитывая это, JVM разрешено изменить порядок назначенияy = 7 произойти послеsynchronized заблокировать в следующем ...

3 ответа

Согласитесь с @ davidk01, что это не тупик. И это, конечно, не «классический» пример, если бы он был. Просто для дополнительной информации, даже без запуска потока, вызов метода в java, который синхронизирован с той же блокировкой, которую уже удерживает поток, не будет блокироваться, так как вызывающая сторона уже владеет блокировкой.

оложим, я выполняюsynchronized блок кода внутри некоторого потока и внутриsynchronized block Я вызываю метод, который порождает другой поток для обработки синхронизированного блока кода, который требует такой же блокировки, как и первый метод. ...

23 ответа

 текущий объект принадлежит к классу, расширяющему поток. -1

ибудь может сказать мне преимущество синхронизированного метода перед синхронизированным блоком с примером?

1 ответ

Для дальнейшего примера:

и этот код: public class MyClass { private final Object _lock = new Object(); private final MyMutableClass _mutableObject = new MyMutableClass() public void myMethod() { synchronized(_lock) { // we are synchronizing on instance variable _lock // ...