java - 持续解析和处理文本

标签 java multithreading logging

我有一个类是日志服务器的监听器。每当发出日志/文本时,监听器都会收到通知。我将此文本存储在数组列表中。

我需要处理这段文本(删除重复的单词,将其存储在一个 trie 中,将其与某些模式进行比较等)。

我的问题是我应该在通知听众时这样做吗?或者我应该创建一个单独的线程来处理处理。

处理这种情况的最佳方法是什么?

最佳答案

听起来您正在尝试解决 Producer Consumer Problem ,在这种情况下 - ,您应该查看线程。

但是,如果您只需要执行非常基本的操作,每次输入所需的时间不到几毫秒 - 不要过于复杂。如果您将 TreeSet 与 ArrayList 结合使用 - 它会自动处理重复项。简单的原子操作(例如验证日志条目)并不是什么大不了的事情,它们需要一个单独的线程,除非新文本以如此快的速度进入,以至于您需要一个线程来全职处理新通知.

关于java - 持续解析和处理文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094933/

相关文章:

Java - 计算除节假日(周六和周日)之外的天数

java - 无状态对象总是线程安全的?

ios - 当应用程序进入后台时继续运行 NSOperationQueue

Java并发困惑

java - 在 Serializable Java 类中使用 Logger 的正确方法是什么?

java - 启动应用程序 spring-boot 后执行类中的某些方法

java - AdColony Aurora 安卓 3.0 SetCustomID

java - 无需 Maven 配置文件即可工作,有错误

python - 如何在不从代码中删除日志语句的情况下关闭它们

vim - 有 "vim runtime log"吗?