27 介紹下Executor架構

2021-09-02 16:23:38 字數 1001 閱讀 9159

介紹下executor架構

execuotr是乙個基於生產-消費者模型的非同步處理架構。可實現執行緒的提交,與執行緒的執行過程的解耦。主要包括三個方向:

任務架構:

以runnable,callable介面實現的任務物件;其中callable介面實現的任務物件,可獲取其執行結果,同時可丟擲異常由呼叫端進行處理。

任務提交執行架構:

基於生產者消費者模型實現的以executor,executorservice為核心的執行緒池架構。其中執行緒池threadpoolexecutor的實現類,通常通過工廠類executors進行建立執行緒池pool。執行緒池可通過submit()提交runnable以及callable任務,並得到乙個future物件。可通過execute()提交runnable任務。其中常見的執行緒池有如下四種方式。其中執行緒池可通過shutdown()方式關閉

用於負載較重的伺服器

固定大小的執行緒池fixedthreadpool

用於不會有太多執行緒活動

單執行緒的執行緒池singlethreadpool

用於負載較輕,或者執行很多短期的非同步任務

根據需要變化的執行緒池cachedthreadpool

用於定時排程任務

定時排程執行緒池scheduledthreadpool,

非同步任務執行結果架構:

以future介面以及其實現類futuretask為核心的非同步執行結果架構,用於獲取非同步的執行結果。

其中,futuretask實現了runnable以及future介面,同時存在futuretask(callablecallable),以及futuretask(runnable runnable, v result)兩種構造方法。可通過get()方法獲取callable的非同步執行結果。

遊戲引擎架構 1 介紹

遊戲引擎設計 在設計引擎時,首先我們要做的是把整個引擎框架設計好 3d遊戲引擎分為3個部分 core底層演算法,engine引擎,game遊戲。引擎架構設計主要分為core和engine core作為最底層的封裝,也對外提供邏輯編寫介面 其主要功能有 自定義型別設計,視景體封裝 處理相機裁剪,在相機...

lwIP 介紹 2 介紹

我的部落格 現今,無線網路技術比如藍芽與ieee 802.11b g wifi 已經成為大部分人生活不可或缺的一部分。這使得關於健康管理 安全加密 傳輸 工業處理等相關設施的蓬勃發展。小的裝置比如感測器,可以連線到現有的網路設施,在網路上進行監控。網路技術已經證明自身足夠靈活來適應千變萬化的網路環境...

演算法0 介紹

由於要找工作,最近刷了點題,看了點書,做了些校招筆試,總結一些演算法筆試的要點吧。1.題目 筆試的時候,第一步還是要認真讀題,這個沒什麼好說的,題都不懂是做不下去的。2.解題思路 在讀完題目的時候,不要急著動手寫 這一步要做的是理清思路,可以借助畫圖等工具。這一步的最終目標是得到演算法流程圖。3.輸...