日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

開源HTTP引擎Grizzly 中的 線程池 實現(xiàn)技術(shù)細(xì)節(jié)

系統(tǒng) 2336 0

開源 HTTP 引擎 Grizzly 中的 線程池 實現(xiàn)技術(shù)細(xì)節(jié)

[ 什么是 Grizzly]

Grizzly

Grizzly
是一 種應(yīng) 用程序框架, 專門 解決 寫成千上萬 訪問 務(wù) 產(chǎn) 生的各 種問題 。使用 JAVA NIO 礎(chǔ) ,并 藏其 程的 復(fù)雜 性。容易使用的高性能的 API 。 來非阻塞 socketd 協(xié)議處 。利用高性能的 沖和 沖管理使用高性能的 程池。

Grizzly


GlassFish 目中于 2004 生。后來 Grizzly 1.0 。 Grizzly1.0 Sun Java System Application Server8.1 , 8.2 和所有的 GlassFish 版本。用來代替本地的 Sun WebServer 運行 。
始目的是建構(gòu)一個 HTTP Web 務(wù) 器,用來代替 Tomcat Coyote 接器和 Sun WebServ er6.1 Grizzly1.0 2006 年的 得相當(dāng)流行。多數(shù) 協(xié)議實現(xiàn) 都基于它。但是 Grizzly1.0 HTTP 協(xié)議 的特定 實現(xiàn)邏輯 包含在 中,主 要 SelectorThread 包含若干的 HTTP 理,如文件 cache 監(jiān) 控等。
了使用框架,需要 擴(kuò) SelectorThread ,例如 JettySelectorThread , SSLSelectorThread Grizzly1.0 混合了 擴(kuò) 展和 實現(xiàn) 。 然如此,但 Grizzly1.0 仍然是很好的 實現(xiàn) ,有下面幾個 協(xié)議 利用了 Grizzly1.0
JRuby On Grizzly
Alaska
HTTP BC
GlassFishV3
的微內(nèi)核
Phobos GlassFish
SOAP
Comet
Cometd
AsyncWeb
GlassFishV2
Sun Web2.0 Developer pack(REST Http Server)


Grizzly
相關(guān)資源

https://grizzly.dev.java.net/

[ Grizzly 的運行機(jī)制 ]

以上圖片的簡要說明

① Pipeline相關(guān)

com.sun.enterprise.web.connector.grizzly 里面 大量「 Pipeline 之類的 class 例如 、「 Pipeline 、 KeepAlivePipeline ThreadPoolExecutorPipeline LinkedListPipeline 之類

Pipeline 的含義是 ThreadPoolWrapper 」、 也就是說 ThreadPool 中配置和指示的控制類

Pipeline 里面 有著預(yù)先被分配好的 thread pool task list 。

Web 上過來的 request 請求到達(dá)服務(wù)器的時候, 特定 Pipeline 上預(yù)先分配好的 thread pool 中提取 thread 、 以供使用 。

thread pool 中提供 thread 的算法,下次描述

 ?、凇? SelectorThread 相關(guān)

com.sun.enterprise.web.connector.grizzly 里面 、 有個 SelectorThread 的類

這個類是 Grizzly 入口 。 所有的 HTTP 申請都會被發(fā)送到這個類里面 。

③  Task 相關(guān)

   「 AcceptTask 」、「 ProcessTask 」、「 ReadTask 之類的類型是與此相關(guān)的 。

主要的功能是從 Requset 中分析得到有用的數(shù)據(jù)

主要的算法如下

◎  ContentLengthAlgorithm

◎  SeekHeaderAlgorithm

◎  StateMachineAlgorithm

◎  NoParsingAlgorithm

[ 那么 、 讓我們一起來研究研究 Thread Pool 的實現(xiàn)細(xì)節(jié)吧 ]

當(dāng) GlassFish 啟動的時候 、 Grizzly SelectorThread 同時被啟動 、 開始接受 Request

Class 名: SelectorThread

函數(shù)名: initEndpoint

説明:  SelectorThread 啟動函數(shù)

Class 名: SelectorThread

函數(shù)名: initPipeline

説明: 初期化 Pipeline

因為不能填圖 所以就不發(fā)代碼了 ~~~~

現(xiàn)在的 Grizzly 版本里面、 Thread Pool 的算法只有 LinkedListPipeline ThreadPoolExecutorPipeline

開源HTTP引擎Grizzly 中的 線程池 實現(xiàn)技術(shù)細(xì)節(jié)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 克什克腾旗| 长丰县| 双辽市| 东平县| 新丰县| 定边县| 宕昌县| 阿城市| 香港 | 巴青县| 宝丰县| 镇赉县| 观塘区| 永昌县| 三明市| 琼中| 利辛县| 阿克| 沭阳县| 禹城市| 巴林右旗| 望都县| 寿光市| 广河县| 射洪县| 泾川县| 章丘市| 湛江市| 德兴市| 宿松县| 衡阳市| 怀化市| 皋兰县| 且末县| 西宁市| 措勤县| 南岸区| 临漳县| 宜君县| 建昌县| 南华县|