log4j输出到控制台的性能问题 non-blocking-console-input-c log4j输出到控制台的性能问题

log4j输出到控制台的性能问题

 我们发现,业务线程在使用ConsoleAppender打印日志时,需要同步获取到OutputStreamManager对象的monitor锁,然后同步调用PrintStream.write() → BufferedOutputStream.write() → FileOutputStream.write() ,接着flush(),等写到Console成功后,才会释放锁,而其他需要获取该锁的业务线程在此期间只能阻塞等待。

https://kb.kutu66.com/others/post_13626538

https://stackoverflow.com/questions/6171132/non-blocking-console-input-c

猜你喜欢

转载自www.cnblogs.com/yuanjiangw/p/12098482.html