Java 线程间共享数据的通道
我有一个要求,我需要读取文本文件,然后将其转换并写入其他文件。我希望以并行方式执行此操作,就像一个线程用于读取,一个线程用于转换,另一个线程用于写入Java 线程间共享数据的通道,java,guava,blockingqueue,Java,Guava,Blockingqueue,我有一个要求,我需要读取文本文件,然后将其转换并写入其他文件。我希望以并行方式执行此操作,就像一个线程用于读取,一个线程用于转换,另一个线程用于写入 现在,为了在线程之间共享数据,我需要一些通道,我想使用BlockingQueue来实现这一点,但如果可用的话,我想探索一些其他(更好的)替代方案 番石榴有一个EventBus,但不确定这是否适合要求。从性能的角度来看,还有哪些替代方案可用,哪一个是最好的除非变换步骤非常密集,否则这可能是浪费时间 这样想吧。你要什么 你要求的东西 获取传入的数据流
现在,为了在线程之间共享数据,我需要一些通道,我想使用
BlockingQueue
来实现这一点,但如果可用的话,我想探索一些其他(更好的)替代方案番石榴有一个
EventBus
,但不确定这是否适合要求。从性能的角度来看,还有哪些替代方案可用,哪一个是最好的除非变换步骤非常密集,否则这可能是浪费时间 这样想吧。你要什么 你要求的东西
- 获取传入的数据流
- 将其复制到另一个线程
- 将其作为传入数据流呈现给该线程
你会考虑在
时添加另一个线程转换的强度很小(因为它包括大量的验证、转换、过滤等),并且不能与reader联系在一起,因为它遵循一些特定的规则进行阅读。然后,您可能需要更好地描述您的问题,以获得有用的响应。我认为如上所述,这是一个太笼统的问题,无法提出具体的改进建议。