java基础语法分析与探索:[1]线程池
操作方法
(01)概要:线程池的创建,本质是获取得到ThreadPoolExcutor(此处翻译成线程池)。获取线程池的方式有两种,一种是自己new一个;而另外一种由获取一个。第一种方式,需要自己对线程池进行配置,而第二种方式,返回一个默认的线程池。线程池创建的相关类图如下:new ThreadPoolExecutor方法创建线程池及其用法第一种方式:ThreadPoolExecutor方法创建线程池及其用法第二种方式:Executors获取线程池:首先看Executor类中主要有哪些方法可以获取得到ThreadPoolExcutor,如下图:Java通过Executors提供四种线程池,分别为:
(02)newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
(03)newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
(04)newScheduledThreadPool创建一个定长线程池,支持定时及周期性任务执行。
(05)newSingleThreadExecutor创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO,优先级)执行。
(06)线程池实现的底层机制上图来源于网站,解释部分是自己根据API进行总结。第1步:PoolSize指的是当前的任务数量。CorePoolSize指的是线程池可以存活着的线程数量。当任务线程数量小于线程池中存活着的线程数量,则直接运行,不用将任务存于阻塞队列中。第2步:当当前的任务数量PoolSize>CorePoolSize,则将多余的线程任务放到阻塞队列中。第3步:当第2步不断的累积线程任务到队列无法存的时候,将会创建新的线程到线程池中第4步:当第3步不断创建线程,直到线程池的最大容量(MaximumPoolSize)的时候,任务线程数量还是不断增加,则有RejectedExecutionHandler来进行处理。
-
年度总结怎么写
新的一年开始,最近接近过年,很多公司或者企业等等都要求员工写年终总结上交,那么年终总結我们该怎么写呢,尤其新毕业的大学生是不是一脸懵逼二脸懵逼呢。操作方法(01)年终总結,要先回顾自己去年一年的工作里,你去年给自己制定的工作目标的完成情况如何,是否完成,如果未完...
-
如何把15位身份证转换成18位身份证
1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。2、将这17位数字和系数相乘的结果相加。3、用加出来和除以11,看余数是多少?4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1...
-
在excel表格里如何添加工作表
excel功用可以说是很强大,那么如何才能把excel用的炉火纯青呢,寿险从最简单的添加工作表开始操作方法(01)双击点开excel表格,这里以excel2016版本为例,如图所示(02)在excel表格底部,找见工作表三,如图所示(03)右击工作表三,如图所示(04)在弹出的上拉框里,找见删除工作表,如图所...
-
怎么开微信店铺?
当大叔大妈们都开始玩微信的时候,我们可以确定的是,微信时代真正到来了。微信注册用户已过7亿,当你还认为它只是一个聊天工具时,别人早就利用微信开店赚大钱了。正所谓有人的地方就有商机,何况是几亿人都在用的工具,这巨大的市场,把握好机会就能赚到第一桶金了。在这...