ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
欢迎关注我的公众号: ![我的公众号](https://markdown-1258186581.cos.ap-shanghai.myqcloud.com/20190606104746.png) 三种阻塞队列:     BlockingQueue<Runnable> workQueue = null;     1. workQueue = new ArrayBlockingQueue<>(5);//基于数组的先进先出队列,有界     2. workQueue = new LinkedBlockingQueue<>();//基于链表的先进先出队列,无界     3. workQueue = new SynchronousQueue<>();//无缓冲的等待队列,无界 四种拒绝策略: 1. AbortPolicy(默认) : 抛出异常,并删除任务。 2. CallerRunsPolicy:用调用者所在的线程处理任务,此策略提供简单的反馈控制机制,能够减缓新任务的提交速度。 3. DiscardPolicy:不执行任务,并将该任务删除 4. DiscardOldestPolicy :会抛弃任务队列中最旧的任务也就是最先加入队列的,再把这个新任务添加进去。 五种线程池:     ExecutorService threadPool = null;     1. threadPool = Executors.newCachedThreadPool();//有缓冲的线程池,线程数 JVM 控制     2. threadPool = Executors.newFixedThreadPool(3);//固定大小的线程池     3. threadPool = Executors.newScheduledThreadPool(2);     4. threadPool = Executors.newSingleThreadExecutor();//单线程的线程池,只有一个线程在工作     5. threadPool = new ThreadPoolExecutor();//默认线程池,可控制参数比较多    --------------------- 作者:草青工作室 来源:CSDN 原文:https://blog.csdn.net/xxj_jing/article/details/84835476 版权声明:本文为博主原创文章,转载请附上博文链接!