2013-05-30 33 views
1

我对java并发性有个疑问。 现在我有一个日志文件,我想用其他线程来处理日志文件。每个线程在文件中处理一行(一条记录)。在最后,最后一个线程将处理后的记录写入同一个文件中。我想知道如何使用原始日志文件保存记录顺序?multiThread处理日志文件,如何在日志文件中保持行顺序

+0

我不知道你在做什么每个文件的每一行来证明在多线程中执行它的开销。 –

+0

当您想分析您的日志文件或制作下载程序时,这是一个常见问题。多线程可以提高下载速度,解决这个问题可以确保下载文件有序,而不是一团糟。 –

+0

我想你误解了我的观点。 –

回答

1

您应该编写一种机制将行号与每条记录相关联。创建一个数据结构来缓冲写入正确的记录索引的行。最后转储文件。

+0

谢谢,我的想法与你的一致,我已经实现了。 –

+0

@amberzhang我很高兴你能够通过使用建议来解决你的情况,而不是从任何其他人那里寻找代码:-)为你感到骄傲,任重而道远! –

+0

谢谢,我已经将我的代码提交给github,https://github.com/amberlife/learnProcess/tree/master/src/NetWorkProgram/ch6,您可以在LookupThread.java,PooledWeblog.java,Line中看到我的解决方案。 java。 –