前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5.串行执行和并发执行的效率对比

5.串行执行和并发执行的效率对比

作者头像
小雨的分享社区
发布2022-10-26 15:23:59
3810
发布2022-10-26 15:23:59
举报
文章被收录于专栏:小雨的CSDN

并发执行利用了线程的手段,可以提高执行效率,这里用一个简单的例子来进行简单对比

1.串行执行

代码语言:javascript
复制
public class ThreadDemo2 {
    private static long count = 100_0000_0000L;

    public static void main(String[] args) {
       // serial();
        concurrency();
    }

    //1.如果采用串行执行  大概是10s
    private static void serial() {
        long bed = System.currentTimeMillis();//时间戳//1970年1月1日0时0分0s为基准时刻,计算按当时的时刻和基准时刻之间的秒数只差

        int a = 0;
        for (long i = 0; i < count; i++){
            a++;
        }
        int b = 0;
        for (long i = 0; i < count ;i++){
            b++;
        }

        long end = System.currentTimeMillis();
        System.out.println("time:" + (end-bed) + "ms");
    }
}

串行执行的方法效率较低,此程序运行结果为: 可以看待时间为:8369ms

2.并发执行(线程)

代码语言:javascript
复制
public class ThreadDemo2 {
    private static long count = 100_0000_0000L;

    public static void main(String[] args) {
        serial();
        concurrency();
    }
    
    //2.创建线程来并发执行完成  3858ms
    private static void concurrency() {
        long beg = System.currentTimeMillis();

        //匿名内部类
        Thread t1 = new Thread(){
            @Override
            public void run() {
                int a = 0;
                for (long i = 0; i < count; i++){
                    a++;
                }
            }
        };

        Thread t2 = new Thread(){
            @Override
            public void run() {
                int b = 0;
                for (long i = 0; i < count; i++){
                    b++;
                }
            }
        };
        t1.start();
        t2.start();
        try {
            //线程等待,让主线程等待t1和t2执行结束,然后再继续往下执行
            t1.join();
            t2.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        long end = System.currentTimeMillis();
        System.out.println("time:"+ (end-beg) + "ms");
    }
}

利用线程来并发执行的方法效率较高,此程序运行结果为: 可以看待时间为:3858ms

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.串行执行
  • 2.并发执行(线程)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档