【发布时间】:2015-12-24 01:32:54
【问题描述】:
目前我正在设计我的产品架构师并面临以下问题。
我有一个队列,我在其中放置一个对象,该对象包含一个字符串和应该写入字符串的文件名。
假设我有 10 个文件,比如 OneFile.txt 、 twoFile.txt 等。 现在我在队列中有 OneFile.txt 的三个对象, twoFile.txt 的五个对象。
我有多个写入文件的线程。 现在,如果我同步文件写入器对象,那么它会阻止我的其他未写入同一文件的线程。
假设有两个线程 T1 和 T2。 T1 线程正在写入 OneFile.txt。 T2 线程想要写入 twoFile.txt,然后 T2 线程阻塞,因为 T1 正在写入 OneFile.txt。 T2 不应该被阻塞,因为它要写 twoFile.txt。
请建议什么是好的架构。 请为此提供示例代码。
【问题讨论】:
-
完全按照标题中的内容去做。在 FileWriter 中同步。
标签: java multithreading performance thread-safety threadpool