我正在从日志文件中提取与模式匹配的行。因此,我将每个日志文件分配给一个 Runnable 对象,该对象将找到的模式行写入结果文件。(同步良好的编写器方法)
正在讨论的重要片段:
ExecutorService executor = Executors.newFixedThreadPool(NUM_THREAD);
for (File eachLogFile : hundredsOfLogFilesArrayObject) {
executor.execute(new RunnableSlavePatternMatcher(eachLogFile));
}
重要标准:
日志文件的数量可能很少,比如 20 个,或者对于某些用户来说,日志文件的数量可能超过 1000 个。我在 Excel 表中记录了一系列测试,我真的很担心标记为 RED 的结果。
1.我假设如果创建的线程数等于要处理的文件数,那么处理时间会更少,与线程数小于要处理的文件数的情况相比不会发生。(如果我的理解有误请指教)
结果 :
- 我想为 NUM_THREAD 确定一个值,该值对于更少的文件以及 1000 个文件是有效的
建议我回答问题 1 和 2
谢谢 !钱德鲁