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)上月开票后你如果已入账,则应开具一张与上月相同的红字普票冲销(同时应将对方寄回的蓝票附在后面粘回收票本),再开一张正确的蓝字发票入账。(02)如上月开票后你末及时入账则可将收回的普票粘回原处...
-
低压电工实际操作,三相电机的正反转控制
低压电工实际操作的一项重要项目:三相电机的正反转控制。想实现电机的正反转,只需要对调三相电源的两根线路就可以实现。这样控制电路需要两个交流接触器来实现,电机的电源的相序切换。为了实现互锁和将接触器的常闭触点串接到电路中。操作方法(01)看懂原理图:分为主...
-
如何做营销推广
如何做营销推广,我想不同的行业能写出上百种的营销推广方案,所以今天我针对如何做营销推广说一下我个人的建议与看法,也会提供几种比较好的营销方式给大家。操作方法(01)做营销推广之前,一定要做好调查,确定自己的目标客户在哪里,然后再通过对比以下列举的营销推广方案...
-
简单的蔬菜立体摆盘方法
现在越来越多人由于工作太忙,生活的比较粗心,只要每天三餐吃的饱就可以了,其实,静下来,我们可以把生活过的稍微精致一点,摆盘就是第一步。操作方法(01)首先准备好蔬菜。(02)黄瓜切开。(03)切口,切六个,要平均分。(04)胡萝卜切片。(05)胡萝卜夹到黄瓜里。(06)黄瓜切薄片。(07)在胡萝卜...