Java-五种线程池,四种拒绝策略,三种阻塞队列三种阻塞队列:
BlockingQueue<Runnable> workQueue = null;
workQueue = new ArrayBlockingQueue<>(5);//基于数组的先进先出队列,有界
workQueue = new LinkedBlockingQueue<>();//基于链表的先进先出队列,⽆界work名词
workQueue = new SynchronousQueue<>();//⽆缓冲的等待队列,⽆界
四种拒绝策略:
节水漫画
RejectedExecutionHandler rejected = null;
rejected = new ThreadPoolExecutor.AbortPolicy();//默认,队列满了丢任务抛出异常
清明记>风不能把阳光打败
rejected = new ThreadPoolExecutor.DiscardPolicy();//队列满了丢任务不异常
rejected = new ThreadPoolExecutor.DiscardOldestPolicy();//将最早进⼊队列的任务删,之后再尝试加⼊队列
rejected = new ThreadPoolExecutor.CallerRunsPolicy();//如果添加到线程池失败,那么主线程会⾃⼰去执⾏该任务
政策补贴
五种线程池:
ExecutorService threadPool = null;
threadPool = wCachedThreadPool();//有缓冲的线程池,线程数 JVM 控制
threadPool = wFixedThreadPool(3);//固定⼤⼩的线程池
threadPool = wScheduledThreadPool(2);
周公解梦大全周易解梦threadPool = wSingleThreadExecutor();//单线程的线程池,只有⼀个线程在⼯作
开两元店threadPool = new ThreadPoolExecutor();//默认线程池,可控制参数⽐较多
惊慌失措的拼音