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

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

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

先大概说一下代码的功能,对了,还要说一点,该测试只占用cpu

1.1千万个任务,任务是将不断地加一个随机数,加10000遍,随机数产生的方法是使用了看Concurrencyinpractice介绍的随机数产生方法(据说能防止jvm优化)

2.写了一个线程池,线程池大家都知道,就不解释了

(具体代码见java并发学习之二:线程池(三))

3.用线程池运行这些任务

下面是运行结果

//-client

//55234043228

//234164019238

//-server

//3076884002

//3077230620

第一个数字是任务下发完成所用时间,第二个数字是任务全部执行完成所用时间

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

相关推荐