在多线程java程序中不断监视动态更新的文件

在多线程java程序中不断监视动态更新的文件,java,multithreading,parallel-processing,Java,Multithreading,Parallel Processing,我想知道实现以下功能的高效(在时间和内存方面)java代码是什么: 我需要一个java程序来连续检查两个文件,第一个文件(我们称之为a)将不断添加产品名称,另一个文件B将是来自不同来源的相应价格。这两个文件都在动态更新。程序将做的是,每当一个产品被添加到一个,它会把这个词添加到一个列表,只要没有新的产品没有被添加,它会考虑每一个新的价格添加到文件B从那时起是相应产品的价格。然后,它将创建产品和价格的映射 这是文件 A. MacBookPro 戴尔XPS 联想 B (文件A中添加了Macbook

我想知道实现以下功能的高效(在时间和内存方面)java代码是什么:

我需要一个java程序来连续检查两个文件,第一个文件(我们称之为a)将不断添加产品名称,另一个文件B将是来自不同来源的相应价格。这两个文件都在动态更新。程序将做的是,每当一个产品被添加到一个,它会把这个词添加到一个列表,只要没有新的产品没有被添加,它会考虑每一个新的价格添加到文件B从那时起是相应产品的价格。然后,它将创建产品和价格的映射

这是文件

A. MacBookPro

戴尔XPS

联想

B (文件A中添加了Macbook pro)

一百

二百

(Dell XPS添加到文件A中)

三百

四百

(联想加入A)

五百

六百

七百

因此它将创建一个映射,如

MacBookPro->100200

戴尔XPS->300400

联想->500600700

上面的例子说明了我正在努力实现的目标。 到目前为止,我的想法是,保持两个线程监视每个文件,每当产品添加到a时,从B开始计数(在B中标记上一个位置),每当新产品添加到a时,从B开始从以前标记的位置。 这是正确的方法吗? 我怎样才能不断地读取动态文件

我会使用,有了它,您可以使用在文件更改时收到通知的侦听器