If you synchronize a method and try to call it twice at the same time, one thread will have to wait two minutes.
Actually, this is not a question of "flaws." Synchronization is necessary or not, depending on what this method does.
If it is critical that the code runs only once at the same time, you need synchronization.
, , Semaphore, (, ).
, JVM. JVM , . () .