目前,我正在设计我的产品架构师,并且面临以下问题。

我有一个队列,我在其中放入包含字符串和应在其中写入字符串的文件名的对象。

假设我有10个文件,例如OneFile.txt,twoFile.txt等。
现在,我在Queue中有三个对象OneFile.txt,五个对象twotwo.txt。

我有多个写入文件的线程。
现在,如果我同步文件编写器对象,那么它将阻止我的其他未写入同一文件的线程。

假设有两个线程T1和T2。
T1线程正在写入OneFile.txt。
T2线程要写入twoFile.txt,然后在T1写入OneFile.txt时T2线程阻塞。
T2不应该被阻止,因为它要写入twoFile.txt。

请提出什么是好的架构。
请为此提供示例代码。

最佳答案

并行编写是否是一个好主意,这一点并不明显。例如。在硬盘上,通常会使其变慢,而在SSD上,它可能会变快,但这取决于您的情况(文件大小,在实际IO之前进行的处理等)。如果您需要更快的速度也不是很明显。

因此,只需使用一个线程,直到您确定它是瓶颈。

09-04 16:08
查看更多