2011-05-12 48 views
-1

如果我遇到这种情况,我将不得不让我的Java程序同步中的每个方法都会影响我的代码的性能?同步冒险

+0

你测试过了吗? – developer 2011-05-12 09:23:50

+4

请尝试先搜索答案。这个问题是非常通用的,可以通过互联网免费提供的一般理论来回答,包括直接从Oracle提供。 – 2011-05-12 09:26:15

回答

6

是的,它会影响性能。

如果您的应用程序大多是单线程的,那么影响会非常小,因为无争议的锁获取速度非常快(在HotSpot等现代JVM上)。

如果您的应用程序是多线程的多个线程同时访问相同的对象,那么影响会更大。

请注意,让每个单一方法同步不会影响而不是保证您的代码是线程安全的,您仍然可以轻松获得竞争条件。

+4

+1更不用说死锁的风险。 – WhiteFang34 2011-05-12 09:33:06