zoukankan      html  css  js  c++  java
  • canal 代码阅读

    涉及到有边界队列,无边界队列。poolSize、corePoolSize、maximumPoolSize 三者参数含义

    If there are more than corePoolSize but less than maximumPoolSize threads running, a new thread will be created only if the queue is full. By setting corePoolSize and maximumPoolSize the same, you create a fixed-size thread pool.

    he ThreadPoolExecutor has the following several key behaviors, and your problems can be explained by these behaviors.

    When tasks are submitted,

    1. If the thread pool has not reached the core size, it creates new threads.
    2. If the core size has been reached and there is no idle threads, it queues tasks.
    3. If the core size has been reached, there is no idle threads, and the queue becomes full, it creates new threads (until it reaches the max size).
    4. If the max size has been reached, there is no idle threads, and the queue becomes full, the rejection policy kicks in.

    In the first example, note that the SynchronousQueue has essentially size of 0. Therefore, the moment you reach the max size (3), the rejection policy kicks in (#4).

    问题就是使用SynchronousQueue,超过了maximumPoolSize还是能成功提交任务

    
    
    public static ThreadPoolExecutor newFixedThreadPool(int nThreads, long keepAliveTime) {
        return new ThreadPoolExecutor(nThreads,
            nThreads,
            keepAliveTime,
            TimeUnit.MILLISECONDS,
            new SynchronousQueue<>(),
            (r, exe) -> {
                if (!exe.isShutdown()) {
                    try {
                        exe.getQueue().put(r);
                    } catch (InterruptedException e) {
                        // ignore
                    }
                }
            });
    }
  • 相关阅读:
    从搜索引擎角度看SEO
    关键词排名与网站优化有哪三大误区?
    真正提升关键词排名的外链应该怎样发?
    高质量外链的十大特性
    四个方面分析SEO如何提高网站的权重
    Linux(ubuntu)使用dd从iso制作win7安装u盘(读卡器一样),以及备份分区
    折腾slidingmenu
    生命游戏介绍
    21232f297a57a5a743894a0e4a801fc3
    final关键字
  • 原文地址:https://www.cnblogs.com/studyNT/p/10780846.html
Copyright © 2011-2022 走看看