同步冒险

har*_*ari -1 java synchronized

如果我遇到一种情况,我必须使我的Java程序中的每个方法同步,这会影响我的代码的性能吗?

Joa*_*uer 6

是的,它会影响性能.

如果您的应用程序主要是单线程的,那么影响将非常小,因为无争议的锁定获取非常快(在现代JVM上,如HotSpot).

如果您的应用程序是多线程的,并且多个线程同时访问相同的对象,则影响将更大.

请注意,同步每个方法并不能保证您的代码是线程安全的,您仍然可以轻松获得竞争条件.