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)登陸機打發票系統,登陸之後先查看剩餘的數量。(02)再點擊發票開具,進入到發票填寫界面,把發票代碼,發票號碼記下來。(03)返回到機打發票主界面,點擊左邊的發票開具。(04...
-
硬件工程師的工作職責
硬件工程師的工作職責是什麼呢?與軟件工程師相比,硬件工程師的工作、就業範圍相對沒有這麼廣,軟件工程師就業職位有數據庫工程師、網站開發工程師、JVAV工程師、程序員等。硬件工程師主要還是集中在硬件技術、設計、維護、測試等。雖然硬件工程師的就業範圍可能比...
-
如何制定個人五年規劃
很多人因爲沒有目標、計劃而困惑,有些人希望有目標、計劃而不知道如何下手,下面,我就以我的實際來和大家共同探討如何制定個人的五年規劃,共同度過未來的每一天。操作方法(01)要做一個完整精準的五年規劃,首先必須要給自己一段時間,一天時間制定的五年規劃很難有操作性...