问个关于java多线程的问题
大家好,我现在有个非常简单的程序,但是有一些疑问想请大家帮忙解释一下,非常感谢!
我的问题是:现在我有256个独立的文件,我要分别读取每个文件,解析文件的内容并存到hashtable里,然后查询hashtable把其中一些entry给写到文件里。当用单线程串行的做这个工作时,需要1200秒,现在我把它改成了8个线程同时去做这个工作,按理说应该快8倍,但是实际上只把时间缩短到了800秒,我track了一下发现虽然hashtable需要占用较多的内存,但是机器的内存绝对够用(机器有8个物理核,96GB内存),所以想请教下大家这是什么原因呢?各个文件都是不相关的。