Java не блокирует статический метод, если только вы не добавите ключевое слово synchronized
.
Обратите внимание, что когда вы блокируете статический метод, вы получаете Mutex объекта Class, в котором реализован метод, поэтомусинхронизация в статическом методе не позволит другим потокам войти в любой из других «синхронизированных» статических методов.
Теперь, в вашем примере, вам не нужно синхронизировать в этом конкретном случае.Это потому, что параметры передаются копией;Таким образом, несколько вызовов статического метода приведут к нескольким копиям параметров, каждый в своем собственном кадре стека.Аналогичным образом, при одновременных вызовах Integer.parseInt(s)
каждый будет создавать свой собственный кадр стека с копиями значения s, передаваемого в отдельные кадры стека.
Теперь, если Integer.parseInt (...) был реализован очень плохоспособ (он использовал статические не финальные члены во время выполнения parseInt; тогда была бы серьезная причина для беспокойства. К счастью, разработчики библиотек Java являются лучшими программистами, чем это.