jdk自带线程池实例详解-创新互联

二、简介

创新互联公司是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十载时间我们累计服务了上千家以及全国政企客户,如橡塑保温等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞扬。

多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力,但频繁的创建线程的开销是很大的,那么如何来减少这部分的开销了,那么就要考虑使用线程池了。线程池就是一个线程的容器,每次只执行额定数量的线程,线程池就是用来管理这些额定数量的线程。

三、涉及线程池的类结构图

jdk自带线程池实例详解

其中供我们使用的,主要是ThreadPoolExecutor类。

四、如何创建线程池

我们创建线程池一般有以下几种方法:

1、使用Executors工厂类

Executors主要提供了下面几种创建线程池的方法:

下面来看下使用示例:

1)newFixedThreadPool(固定大小的线程池)

public class FixedThreadPool { 
  public static void main(String[] args) { 
    ExecutorService pool = Executors.newFixedThreadPool(5);// 创建一个固定大小为5的线程池 
    for (int i = 0; i < 10; i++) { 
      pool.submit(new MyThread()); 
    } 
    pool.shutdown(); 
  } 
} 
public class MyThread extends Thread { 
  @Override 
  public void run() { 
    System.out.println(Thread.currentThread().getName() + "正在执行。。。"); 
  } 
} 

文章标题:jdk自带线程池实例详解-创新互联
文章出自:http://scyanting.com/article/eghds.html