我遇到了一个性能问题,其中880个线程同时在进行synchronized() { method() }
,这导致了一个主要的性能问题。
是否有可能在synchronized()
处等待一些线程限制?我在哪里可以获得限制?
另一个问题是最好放入synchronized( ? )
。因为我有不同的类访问该变量,所以我不能放synchronized(this)
。
答案 0 :(得分:2)
无法使用synchronized限制任何内容,对于高级并发结构,您需要查看 http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/package-summary.html。
关于你在同步(?)中的内容,这意味着你锁定的内容,它取决于你想要实现的锁定行为。如果您有一个全局(例如公共静态对象LOCK = new Object(); ),可以从所有不同的类访问它,并且您同步它,那么所有类将锁定在那个类上。