Java 在另一个线程上处理文件保存/加载

Java 在另一个线程上处理文件保存/加载,java,Java,我一直在为我的项目研究一种文件/加载方法。我目前正在使用一个工作线程池,其中包含所有IO任务的队列。有一个计时器每50毫秒运行一次,检查队列是否为空,并执行队列中的所有任务。所有任务都是从各种线程添加到队列中的,这些线程不能从IO延迟,也不能等待工作线程完成任务 对于我正在努力实现的目标,是否有其他解决方案?就像添加一个仅适用于工作线程的等待,而不是试图将IO任务放入其中的线程 编辑:我还希望避免不断创建新的线程对象。它似乎对我的应用程序性能有很大的影响 嗯,使用计时器轮询队列似乎不是一个好主意

我一直在为我的项目研究一种文件/加载方法。我目前正在使用一个工作线程池,其中包含所有IO任务的队列。有一个计时器每50毫秒运行一次,检查队列是否为空,并执行队列中的所有任务。所有任务都是从各种线程添加到队列中的,这些线程不能从IO延迟,也不能等待工作线程完成任务

对于我正在努力实现的目标,是否有其他解决方案?就像添加一个仅适用于工作线程的等待,而不是试图将IO任务放入其中的线程


编辑:我还希望避免不断创建新的线程对象。它似乎对我的应用程序性能有很大的影响

嗯,使用计时器轮询队列似乎不是一个好主意。我认为在这里使用ExecutorService可能更好。markspace,execute(Runnable命令)会强制调用线程等待,直到Executer的线程准备好使用吗?是的,如果没有可用的线程,并且线程池具有最大允许线程数(一个好主意)。但是,计时器总是强制任务等待,因此两者在这方面没有任何不同。@markspace很好地看出了问题所在。我不能让主线程暂停以等待executors线程可用。这就是我引入队列的原因。