java多线程效率_Java 多线程和单线程效率比较,最好是能上代码,我使用了多线程发现耗时更多,求大神解释!...

代码如下:publicclassThreadBodyimplementsRunnable{publicvoidrun(){for(inti=1;i<500000000;i++){}}publicvoidrunSingleThread(){for(inti=1;i<500000000;i++){}}}//效率测试代码p...

代码如下:

public class ThreadBody implements Runnable {

public void run() {

for (int i = 1; i < 500000000; i++) {

}

}

public void runSingleThread() {

for (int i = 1; i < 500000000; i++) {

}

}

}

//效率测试代码

public static void main(String[] args) {

//单线程开始

Long start1 = System.currentTimeMillis();

System.out.println("start1:"+start1);

for(int i = 0;i<20;i++)

{

ThreadBody threadBody = new ThreadBody();

threadBody.runSingleThread();

}

Long end1 = System.currentTimeMillis();

System.out.println("end1:"+end1+" 毫秒数:"+(end1-start1));//2毫秒

//单线程结束

//多线程开始

Long start2 = System.currentTimeMillis();

System.out.println("start2:"+start2);

BlockingQueue queue = new LinkedBlockingDeque();

ThreadPoolExecutor executor = new ThreadPoolExecutor(3,6,1,TimeUnit.HOURS,queue);

ThreadBody threadBody = new ThreadBody();

for(int i = 0;i<20;i++)

{

executor.execute(threadBody);

}

Long end2 = System.currentTimeMillis();

System.out.println("end2:"+end2+" 毫秒数:"+(end2-start2));//4毫秒

//多线程结束

}

展开

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值