java.util.concurrent和工具类

一、java.util.concurrent体系的主要大板块包含内容

说到JUC其实就是说java的多线程等和锁及一些状态转换,中断等,它还涉及到一些tools工具的东东,见下图:

Tools也包含了5个部分的知识:Executors、Semaphor、Exchanger、CyclicBarrier、CountDownLatch,其实也就是五个工具类

 

 

 

二、Executors

它主要用来创建线程池,代理了线程池的创建,使得你的创建入口参数变得简单,通过方法名便知道了你要创建的线程池是什么样一个线程池,功能大概是什么样的,其实线程池内部都是统一的方法来实现,通过构造方法重载,使得实现不同的功能,但是往往这种方式很多时候不知道具体入口参数的改变有什么意思,除非读了源码才知道,此时builder模式的方式来完成,builder什么样的东西它告诉你就可以。

 

常见的方法有(都是静态方法):

 

1、创建一个指定大小的线程池,如果超过大小,放入blocken队列中,默认是LinkedBlockingQueue,默认的ThreadFactory为:Executors.defaultThreadFactory(),是一个Executors的一个内部类。

 

Executors.newFixedThreadPool(int)

内部实现如下:

public static ExecutorService newFixedThreadPool(int nThreads) { 

    return new ThreadPoolExecutor(nThreads, nThreads, 

                                  0L, TimeUnit.MILLISECONDS, 

                                  new LinkedBlockingQueue()); 

你可能感兴趣的:(java.util.concurrent和工具类)