java - 同步(对象) { } 问题

标签 java synchronized concurrency

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

synchronized() 处等待的线程是否可能存在某种限制?我在哪里可以获得限制?

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

最佳答案

没有办法用synchronized来限制任何东西,对于高级并发结构,你需要看看 http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/package-summary.html .

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

看看 java tutorial on synchronization .

关于java - 同步(对象) { } 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2016402/

相关文章:

java - 当应用程序运行时,使用 Apache Mahout 的 TFIDF 有 "Job failed!"

Java的happens-before和同步

java - 为什么当我尝试访问同步列表时我的线程停止了?

loops - 嵌套for循环中的并发

java - spring security中,如何判断session是否因多次登录而失效?

http - Golang HTTP 服务器请求异步还是同步?

java - 为用户偏好创建用户友好的时区列表

java - 如何在Struts迭代器标签中添加条件?

windows vscode终端中的javac Foo.java && java Foo不工作

Java同步对双重检查锁定的影响?