java并发学习之二:线程池(四)

一直都知道有两个jvm,一个是server,一个是client,server适合做server,client合适做client,认识也就停留在这里了

最近在练习玩并发的程序,一时手痒,试了一下-server,居然出来的数据如此惊人,相差近100倍

先大概说一下代码的功能,对了,还要说一点,该测试只占用cpu
1.1千万个任务,任务是将不断地加一个随机数,加10000遍,随机数产生的方法是使用了看Concurrency in practice介绍的随机数产生方法(据说能防止jvm优化)
2.写了一个线程池,线程池大家都知道,就不解释了
(具体代码见 java并发学习之二:线程池(三)
3.用线程池运行这些任务

下面是运行结果
//-client
//55234043228
//234164019238
//-server
//3076884002
//3077230620
第一个数字是任务下发完成所用时间,第二个数字是任务全部执行完成所用时间

近100倍的差距~真不知道jvm做了什么优化,暂时先记录下来,纳入学习计划把

你可能感兴趣的:(java,jvm)