Java:为多个线程使用同一对象的最佳方法是什么?

时间:2019-04-27 15:23:40

标签: java multithreading queue blockingqueue

我正在尝试从对象列表中写入多个文件。

  1. 所以我抓住object1从其中写入5个文件。

  2. 抓取对象2再次追加到相同的文件。

  3. 将对象3追加到相同的文件等,等等。

我使用每个循环写入文件,这花费了很长时间,因为每个对象都有大量信息。

有人告诉我使用阻塞队列保存每个对象,并为我正在编写的每个文件创建一个线程。但是,为了写入每个文件,每个文件必须使用列表中的相同对象。

据我了解,一旦取出一个对象,就会填充一个阻塞队列。

因此,Thread1将让object1写入其文件,而到Thread2需要写入其文件时,由于Thread1使用了第一个对象,所以阻塞队列将已经有一个新对象。我需要为每个对象编写5个文件,所以Object1永远不会到达Thread2,对吗?还是使这种工作有效的最佳方法是什么?

非常感谢您。

我曾经尝试研究其他stackoverflow问题,但是当涉及到我的问题时,它们都没有真正的帮助。

0 个答案:

没有答案