Java-五种线程池,四种拒绝策略,三种阻塞队列 三种阻塞队列: BlockingQueue<Runnable> workQueue = null; workQueue = new ArrayBlockingQueue<>(5);//基于数组的先进先出队列,有界 workQueue = new Li ...
分类:
编程语言 时间:
2020-04-16 19:32:41
阅读次数:
70
首先出现这个问题,都是iptables input chain 设置了默认Policy 为 Drop导致的(如果默认全都是 accept或者没有其他拒绝策略,肯定是没问题的。) 这是我服务器上的INPUT规则如下: 3306 ,6379那几个, 分别是mysql容器和 redis容器对应的端口号,第 ...
分类:
其他好文 时间:
2020-04-05 13:46:46
阅读次数:
215
hashmap、hashtable、concurrenthashmap(hash三件套,说了10分钟) hash扩容。给定一个长度为1000的hashmap,存放900个元素会不会扩容、750个呢? ThreadLocal 原理 线程池原理(参数、执行过程、拒绝策略) 写了一个BlockingQue ...
分类:
编程语言 时间:
2020-03-30 16:31:54
阅读次数:
90
并发是个系统的知识体系,有理论上的,有语言上的,有概念上的,这份总结力求简单,看的懂,而不是用一大堆源码和概念去描述 java的内存模型 java的内存模型被称为JMM,从上图可以看出,java内存模型主要是针对多线程。 为什么要先说java的内存模型,事实上,涉及到线程之间通信的两种模型; 第一种 ...
分类:
编程语言 时间:
2020-03-18 11:30:19
阅读次数:
62
熟悉Java多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了。 目录 1 线程池的优势 2 线程池的使用 3 线程池的工作原理 4 线程池的参数 4.1 任务队列(workQueue) 4.2 线程工厂(threadFactory) 4.3 拒绝策略 ...
分类:
编程语言 时间:
2020-02-25 16:13:44
阅读次数:
84
1、三大方法
2、七大参数
3、四种拒绝策略
4、源码分析
5、如何自定义编写
6、如何调优 ...
分类:
编程语言 时间:
2020-02-23 11:36:19
阅读次数:
70
通过了解典型应用的默认端口,您可以更准确地添加或修改安全组规则。 背景信息 添加安全组规则时,您必须指定通信端口或端口范围,然后安全组根据允许或拒绝策略决定是否转发数据到ECS实例。例如,使用Xshell客户端远程连接ECS实例时,当安全组检测到从公网或内网有SSH请求,会同时检查入方向上发送请求的 ...
分类:
其他好文 时间:
2020-02-09 20:03:27
阅读次数:
87
最近项目中要用到多线程处理任务,自然就用到了ThreadPoolTaskExecutor这个对象,这个是spring对于Java的concurrent包下的ThreadPoolExecutor类的封装,对于超出等待队列大小的任务默认是使用RejectedExecutionHandler去处理拒绝的任 ...
分类:
其他好文 时间:
2020-01-28 21:13:07
阅读次数:
84
手写线程池: AbortPolicy:直接抛出RejectedExecutionException异常阻止系统正常运行。 public class MyThreadPoolDemo { public static void main(String[ ]args) { ExecutorService ...
分类:
编程语言 时间:
2020-01-08 21:02:36
阅读次数:
94
当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略: AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。 这是线程池默认的拒绝策略,在任务不能再提交的时候,抛出异 ...
分类:
编程语言 时间:
2020-01-04 16:58:58
阅读次数:
234