java线程池趣味事:这不是线程池

  要想写出高性能高并发的应用,自然有许多关键,如io,算法,异步,语言特性,操作系统特性,队列,内存,cpu,分布式,网络,数据结构,高性能组件。

  胡说一通先。

  回到主题,线程池。如果说多线程是提高系统并发能力利器之一,那么线程池就是让这个利器更容易控制的一种工具。如果我们自己纯粹使用多线程基础特性编写,那么,必然需要相当老道的经验,才能够驾驭复杂的环境。而线程池则不需要,你只需知道如何使用,即可轻松掌控多线程,安全地为你服务。

 

1. 常见线程池的应用样例

  线程池,不说本身很简单,但应用一定是简单的。

  线程池有许多的实现,但我们只说 ThreadPoolExecutor 版本,因其应用最广泛,别无其他。当然了,还有一个定时调度线程池 ScheduledThreadPoolExecutor 另说,因其需求场景不同,无法比较。

  下面,我就几个应用级别,说明下我们如何快速使用线程池。(走走过场而已,无关其他)

 

1.1. 初级线程池

  初级版本的使用线程池,只需要借助一个工具类即可: Executors . 它提供了许多静态方法,你只需随便选一个就可以使用线程池了。比如:

// 创建固定数量的线程池 Executors.newFixedThreadPool(8); // 创建无限动态创建的线程池 Executors.newCachedThreadPool(); // 创建定时调度线程池 Executors.newScheduledThreadPool(2); // 还有个创建单线程的就不说了,都一样

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsgfs.html