我正在使用Java Mission Control来分析我的应用程序的性能问题。 JMC在Thread Contention和Lock Instances部分下突出显示了java.io.PrintStream。
为什么我要面对JDK包的线程争用问题?
答案 0 :(得分:7)
看起来您的应用程序同时从多个线程向stdout或stderr生成大量输出(System.out
和System.err
为PrintStream
s)。 PrintStream
上的写入和刷新无法并行处理,它们都是同步的,因此您将面临争用。