我想对此发表意见以解决一个小纠纷。任何帮助将不胜感激。
我已经编写了自己的附加到记录器的文件处理程序。这是一个文件处理程序并被多个线程访问,我使用同步以确保在写入过程中没有冲突。此外,它是一个滚动日志,所以我也关闭和打开文件,也不希望出现任何问题。
他对此的回应是(从电子邮件中粘贴)
我坚信处理程序中的同步非常糟糕。对于这样简单的任务来说太复杂了。所以,我会说为什么不为每个线程使用一个实例?
从性能和内存管理的角度来看,您会说什么更好。非常感谢您的任何回复。每当在多线程应用程序中涉及写入和读取时,我一生都在 java 应用程序上使用同步,并且没有听说过任何严重的性能问题。
所以请我想知道是否有任何问题,我真的应该每个线程切换到一个实例。
一般来说,使用同步的缺点是什么?
编辑:我编写自定义文件处理程序(是的,我确实喜欢 slf4j)的原因是因为我的自定义处理程序同时处理两个文件,此外,除了写入文件之外,我还执行了一些其他功能。