2017-02-11 71 views
0

我需要在使用监视器服务观察目录的任务上工作,现在每当有任何新文件进入目录时,我正在用执行程序服务线程池创建线程。 我想知道我有的线程类,包含读取和保存数据到数据库的逻辑, 我是否需要任何同步块或同步方法?Java多个文件不同的线程

注:我正在为每个文件创建单独的线程。

回答

0

简单的回答:如果那些不同的线程在并行运行时会导致“数据一致性”问题,那么您需要同步他们的工作。

如果这些线程正在做什么没有问题,那么您不需要同步它们。

这里的捕获:这是你的代码,你的要求。 是谁知道这些线程正在做什么;以及他们如何操作数据库的内容。

这是所有可以说这里(除非你根本不知道你的代码做的正是,那么它可能是一个选项,让你提高你的问题,显示你的那个代码是应该并行运行)。

+0

是的我同意你的答案,只是寻找意见。所以,虽然我有不同的线程为不同的文件,他们正在阅读和单独保存,这个类将有独立的实例,我不认为它需要任何同步块或方法? –

+0

再说一遍:你的数据来自哪里,但它的去向并不重要。如果来自不同线程的数据进入SAME数据库行,那么您很可能有问题。如果你的代码总是创建完全独立的条目,那么不是那么多。 – GhostCat