现在我的程序 。。 对文件进行分析。。 在单线程的时候 一个小时 可以解析 215~225个文件
现在用了线程池 设置大小为2 一个小时 才解析 110个文件 效率反而降低不少
每个线程都解析自己的文件 没有公用的 模块。只有公用的数据库 但是数据库是只是插入。。
有没有什么想法 修改呢。。
希望大家给我个想法
现在用了线程池 设置大小为2 一个小时 才解析 110个文件 效率反而降低不少
每个线程都解析自己的文件 没有公用的 模块。只有公用的数据库 但是数据库是只是插入。。
有没有什么想法 修改呢。。
希望大家给我个想法
或者是你解析的算法太占空间或者cpu既然这样 还不如单线程。也可以把代码拿出来研究演剧
线程数大的情况,cpu就会做很多上下文转化,反而效率不好。
在java中这种问题多的是!前几天我就遇到了这样的问题
看下你的线程的结构!!
尽量少new 对象
您说的用阻塞队列吧。。
想过这个。。 现在我也把这个改成了阻塞队列
我发现我的原因在那里了。。 我解析文件后 要对文件作大量的统计分析 和一些其他的操作。。
昨天改了个存储过程。。 那个过程很耗时间。。 所以我的 这个多线程。。 运行起来比较慢。。
就像 其他朋友说的,IO 并发为0 所以我的程序就堵在这里了。。
我把存储改了。。 现在好多料。。 谢谢大家的意见 与看法。。