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來進行處理。
-
Windows10如何共享打印機
平時工作中經常要共享打印機,關於如何設定共享打印機下面逐步介紹。直接和打印機連接的稱爲主機端、其他電腦稱爲客戶端。操作方法(01)右鍵單擊”開始“圖標——”控制面板“——,以類別方式在”家庭組和網線網絡“。(02)選擇”更改進階共享設定“在選中"啓用網絡發...
-
普通機打空白髮票如何作廢?
普通機打空白髮票換新發票的時候,需要先把空白髮票作廢,下面教大家:普通機打空白髮票如何作廢?操作方法(01)登陸機打發票系統,登陸之後先檢視剩餘的數量。(02)再點擊發票開具,進入到發票填寫介面,把發票代碼,發票號碼記下來。(03)返回到機打發票主介面,點擊左邊的發票開具。(04...
-
5S管理的實施步驟
現如今大部分企業現場管理都不可或缺的匯入5S管理,但是5S管理如何匯入和實施呢?5S管理是一個系統性管理方式,是有一定步驟的:操作方法(01)第一步是“整理”:5S管理中的第一步是整理,所謂整理就是工作現場的各類物件將要與不要的區分開來,將要的物件留下,去除不要的物件...
-
如何製作“我愛你”的二維碼
二維碼的製作,聽起來很複雜,其實很簡單。利用二維碼來想妹子表白,更是有意外之喜,跟着我一起來學習超簡單的二維碼製作教程吧。操作方法(01)教程利用到的是WPS軟件,沒有安裝這個軟件的需要去安裝一下,然後新建一個空白文檔。(02)在工具欄上方找到【插入】,然後選擇圖庫裏...