java mina框架原理?
mina框架原理?Acceptor and connector thread在服務(wù)器端,綁定端口后,將創(chuàng)建一個(gè)Acceptor線程來(lái)偵聽。這個(gè)線程的工作只有一個(gè):調(diào)用javanio接口選擇這個(gè)端口上的
mina框架原理?
Acceptor and connector thread
在服務(wù)器端,綁定端口后,將創(chuàng)建一個(gè)Acceptor線程來(lái)偵聽。這個(gè)線程的工作只有一個(gè):調(diào)用javanio接口選擇這個(gè)端口上的connect事件,獲取新的連接,封裝成iosession,然后發(fā)送給后面的處理器線程進(jìn)行處理。
在客戶端,有一個(gè)類似的線程稱為連接器。這兩類線程的數(shù)量只有一個(gè),外界無(wú)法控制這兩類線程的數(shù)量。
TCP實(shí)現(xiàn)代碼可參考o(jì)rg.apache.mina網(wǎng)站. core.polling.AbstractPollingIoAcceptor內(nèi)部類接受者和org.apache.mina網(wǎng)站. core.polling.AbstractPollingIoConnector的內(nèi)部類連接器。
處理器線程
處理器線程主要負(fù)責(zé)特定的IO讀寫操作以及后續(xù)的iofilterchain和iohandler邏輯。處理器線程數(shù)n默認(rèn)為CPU數(shù)1,可由配置參數(shù)控制。上一個(gè)iosession將分配給N個(gè)處理器線程。simpleionprocessorpool的默認(rèn)策略是會(huì)話ID的絕對(duì)值被模塊化為n以進(jìn)行分配。
每個(gè)進(jìn)程線程維護(hù)一個(gè)選擇器,選擇它維護(hù)的iosession集,然后遍歷選擇的結(jié)果并逐個(gè)處理它們。如前所述,讀取數(shù)據(jù)、以事件的形式通知iofilterchain以及刷新寫請(qǐng)求隊(duì)列都是在這樣的線程中完成的。
通過(guò)將會(huì)話劃分為多個(gè)處理器線程進(jìn)行處理,我們可以充分利用多核的處理能力,減少選擇操作的壓力。
編寫mina框架需要哪些軟件?
這取決于您要使用哪種語(yǔ)言。首先,如果你使用C1,turbodos經(jīng)典編譯軟件。二是win-TC圖形編譯軟件,其特點(diǎn)是容量小。第三,VC微軟件主要用來(lái)制作C秒,如果你是從事VB、vs等的,可以直接下載一個(gè)微軟的可視化集成,里面包含了VC 3。如果你想做java,1。如果您認(rèn)為自己擅長(zhǎng)編寫代碼,可以下載java編譯器。用記事本寫代碼。2否則,您可以下載JDK。4進(jìn)行裝配。1MASM的集成實(shí)驗(yàn)環(huán)境非常好。5做網(wǎng)站開發(fā)。(1) ASP。在沒有軟件的情況下很好地配置你的計(jì)算機(jī),就像記事本一樣。(2) PHP,您必須下載Apache、PHP5.0和mysql。就像代碼一樣,你可以用記事本。以前的軟件只是構(gòu)建一個(gè)環(huán)境。(3) 抽屜應(yīng)該是必不可少的。目前,我已經(jīng)用了所有這些