0

我遇到了一个性能问题,其中 880 个线程同时在执行synchronized() { method() } ,这导致了一个主要的性能问题。

是否有可能等待的线程有一些限制synchronized()?我在哪里可以得到限制?

另一个问题是最好放入什么synchronized( ? )。因为我有不同的类访问该变量,所以我不能把synchronized(this).

4

1 回答 1

2

没有办法限制同步的任何内容,对于高级并发构造,您需要查看http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/package-summary.html

关于您在 synchronized( ? ) 中放入的内容,这意味着您锁定的内容取决于您想要实现的锁定行为。如果您有一个可以从所有不同类访问的全局(例如public static Object LOCK = new Object();),并且您在其上进行同步,那么所有类都将锁定在该类上。

查看有关同步的 java 教程

于 2010-01-06T21:36:02.290 回答