史广



摘要:随着Java并发(concurrem)工具包的推出,并发程序的开发方式得到了极大的优化。较之以往的多线程设计机制,论文从四个方面深入探讨了并发(conCurrent)工具包是如何提升并发编程效能的。
关键词:并发;多线程;java
doi:10.16083/j.cnki.1671-1580.2016.08.025
中图分类号:TP311
文献标识码:A
文章编号:1671-1580(2016)08-0078-04
在JDKl.5出现之后,Sun推出了并发(concur-rent)工具包以简化并发编程,它为开发者提供了更为实用的并发程序模型,使得编写高效、易维护、结构清晰的Java多线程程序更为容易。
一、简化了线程的管理,提升了线程的执行效能
在JDKl.5之前,使用newThread()方式定义线程,需要考虑线程的创建、结束和结果的获取等诸多细节。尤其在需要很多线程时,线程的管理就会变得比较困难。不仅如此,使用newThread()方式定义线程,在时间和空间效率方面都存在不足。比如,定义好的线程不能重复利用;每次使用线程都需要向系统申请资源重新创建。另外,线程的创建和启动都需要一定的时间,这也会影响程序执行效率。
线程池(ThreadPool)是并发(Concurrent)工具包中引入的机制,它对以上问题进行了很好的优化。线程池通过一个缓存池的空间预先创建了一部分线程,在我们需要使用的时候就从里面直接将线程资源取出来使用。在线程使用完毕之后,线程池可以将线程回收进行重复利用。因此,在对性能要求较高或线程请求较多的情况下,线程池是一个很理想的选择。
上述程序创建了一个可缓存线程池(cachedThread Pool):只需通过循环的方式,便可把想要完成的任务数量传递给线程池,线程池会创建尽可能多的必须线程来并行执行。……