我有一个类是日志服务器的监听器。每当发出日志/文本时,监听器都会收到通知。我将此文本存储在数组列表中。
我需要处理这段文本(删除重复的单词,将其存储在一个 trie 中,将其与某些模式进行比较等)。
我的问题是我应该在通知听众时这样做吗?或者我应该创建一个单独的线程来处理处理。
处理这种情况的最佳方法是什么?
最佳答案
听起来您正在尝试解决 Producer Consumer Problem ,在这种情况下 - 是,您应该查看线程。
但是,如果您只需要执行非常基本的操作,每次输入所需的时间不到几毫秒 - 不要过于复杂。如果您将 TreeSet 与 ArrayList 结合使用 - 它会自动处理重复项。简单的原子操作(例如验证日志条目)并不是什么大不了的事情,它们需要一个单独的线程,除非新文本以如此快的速度进入,以至于您需要一个线程来全职处理新通知.
关于java - 持续解析和处理文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094933/