Синхронное приключение - PullRequest
0 голосов
/ 12 мая 2011

Если я столкнусь с ситуацией, когда мне придется выполнить каждый метод в моей Java-программе синхронизированный , повлияет ли это на производительность моего кода?

1 Ответ

6 голосов
/ 12 мая 2011

Да, это повлияет на производительность.

Если ваше приложение в основном однопоточное, то влияние будет очень небольшим, поскольку получение неоспоримых блокировок происходит очень быстро (на современных JVM, таких как HotSpot).

Если ваше приложение сильно многопоточное и несколько потоков одновременно обращаются к одним и тем же объектам, то влияние будет больше.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...