go语言比java高级在哪里

有人说go比较高级,无非是说go语言比java多了用户态的纤程。目前java原生jdk到了JDK14,还没有支持,不过我相信以后肯定会支持的。目前只能通过三方jar包(Quasar)的形式来支持。那就提前感受下纤程的威力吧。话不多说,直接上测试结果,大家自行感受其威力!!!1.多线程。/** * @Auther Micky * @Date 2020-10-25 11:35 * <p> * 4个cpu,8G内存, i7处理器,Windows10系统 * 线程和纤程的区别
摘要由CSDN通过智能技术生成

有人说go比较高级,无非是说go语言比java多了用户态的纤程。目前java原生jdk到了JDK14,还没有支持,不过我相信以后肯定会支持的。目前只能通过三方jar包(Quasar)的形式来支持。

那就提前感受下纤程的威力吧。话不多说,直接上测试结果,大家自行感受其威力!!!

1.多线程。

/**
 * @Auther Micky
 * @Date 2020-10-25 11:35
 * <p>
 * 4个cpu,8G内存, i7处理器,Windows10系统
 * 线程和纤程的区别
 * 先做单线程无纤程的。
 * cost time is 2056 ms
 * cost time is 3871 ms
 * cost time is 2878 ms
 * cost time is 3414 ms
 * cost time is 3462 ms
 */
public class ThreadOnlyTest {
    public static void main(String[] args) throws Exception {
        long startTime = System.currentTimeMillis();
        int size = 10000;
        CountDownLatch countDownLatch = new CountDownLatch(size);
        Thread[] ThreadArray = new Thread[size];
        for (int i = 0; i < ThreadArray.length; i++) {
            ThreadArray[i] = new Thread(() -> {
                calc();
                countDownLatch.countDown();
            });
        }
        for (int i = 0; i < ThreadArray.length; i++) {
            ThreadArray[i].start();
        }
        countDownLatch.await();
        System.out.println("cost time is " + (System.currentTimeMillis() - startTime) + " ms");

    }

    private static void calc() {
        int result = 0;
        for (int i = 0; i < 10000; i++) {
            for (int i1 = 0; i1 < 1000; i1++) {
                result += i1;
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值