我有一个workerprocess,它会生成一个连续的文本日志(直到它完成)。我把这个日志发送到一个Web服务器,它应该存储这个日志。同时,它应该有可能为用户查看这个日志在真实的时间通过使用不同的Web服务器接口。实际上,我有一个HashMap,其中Key是一个ID,值是一个StringBuilder,每当有新的日志行出现时,我都会附加Data。问题是,任何进程都使用这个HashMap,我担心会有更多的并发进程和许多想要读取日志的用户。对于这个用例,什么是更好的方法?
lf5gs5x21#
由于对Web服务器的所有请求都是在不同的线程中发出的,因此在以下情况下可能会发生问题:
StringBuilder
最简单的解决方案:使用StringBuffer而不是StringBuilder,因为它的所有方法都是同步的。
StringBuffer
1条答案
按热度按时间lf5gs5x21#
由于对Web服务器的所有请求都是在不同的线程中发出的,因此在以下情况下可能会发生问题:
StringBuilder
StringBuilder
。最简单的解决方案:使用
StringBuffer
而不是StringBuilder
,因为它的所有方法都是同步的。