0 0

关于java多线程与单线程的疑惑3

情景描述:

硬件环境:
  双cpu

  场景一:数据量10万,单个线程,将数据库里面的数据导入到文件 ,耗时3.5个小时


  场景二:数据量10万,10个线程,将数据库里面的数据导入到文件 ,耗时3个小时





请问下各位为什么场景一和场景二所用的时间差不多啊? 双cpu的话至少同一时间片有两个线程在跑吧,除去线程切换的时间,那也应该不需要3个小时啊!


问题补充:呵呵,不好意思,代码写错了,刚测试了一下,如果是10个线程的话就只要半个小时了,另外我想问下,是不是线程越多越好,到底根据什么来确定要开多少线程处理才合适?
chen_yongkai 写道
感觉是代码有问题,数据量10万,单线程也不用3.5个小时 这么多吧!
除非是有很复杂的处理流程?


问题补充:另外我还有个疑问,为什么我开100个线程和开10个线程cpu的利用率都是10%左右啊?
chen_yongkai 写道
感觉是代码有问题,数据量10万,单线程也不用3.5个小时 这么多吧!
除非是有很复杂的处理流程?

2012年4月25日 16:25

2个答案 按时间排序 按投票排序

0 0

把线程数降到4-6个试试。

2012年4月25日 19:04
0 0

感觉是代码有问题,数据量10万,单线程也不用3.5个小时 这么多吧!
除非是有很复杂的处理流程?

2012年4月25日 16:43

相关推荐

Global site tag (gtag.js) - Google Analytics