Wenn zwischen freigegebenen Ressourcen in den verschiedenen Threads erhebliche Konflikte bestehen, könnte das Sperren und Entsperren von Objekten eine große Menge an IPI Interprozessor-Interrupts erfordern und die Prozessoren könnten mehr Zeit mit dem Verwerfen ihrer L1- und L2-Caches verbringen und erneutes Abrufen von Daten von anderen CPUs, als sie tatsächlich zur Lösung des vorliegenden Problems benötigen.
Dies kann ein Problem sein, wenn die Anwendung Weg too-fine-grained locking hat. (Ich habe es einmal summiert "es hat keinen Sinn, mehr als eine Sperre pro CPU-Cache-Zeile", die definitiv wahr und vielleicht noch zu feinkörnig ist.)
Java "jedes Objekt ist ein Mutex" könnte führen zu zu viele Sperren im laufenden System, wenn zu viele leben und streiten.
Ich habe keinen Zweifel, jemand könnte absichtlich eine solche Anwendung schreiben, aber es ist wahrscheinlich nicht sehr häufig. Die meisten Entwickler würden ihre Anwendungen schreiben, um Ressourcenkonflikte zu reduzieren, wo sie können.
Es gibt eine ganze Reihe vielversprechender Links für [Java, Performance und Multi-Core] (http://www.google.com/search?q=java+performance+multi+core). Können Sie eine Notiz hinterlassen, wenn dieser Blogeintrag auf der Liste steht? –