更新時(shí)間:2020-05-07 14:47:30 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2610次
Java入門學(xué)習(xí),socket編程書籍,前幾周末看了一本關(guān)于Netty編程相關(guān)的書籍。看到作者對(duì)IOSocket編程在服務(wù)器端用了線程池去優(yōu)化socket編程單線程的編碼,趁這個(gè)周末進(jìn)行簡單記錄一下。
編碼實(shí)現(xiàn)
TimeServerHandler類
該類比較簡單,實(shí)現(xiàn)Runnable
TimeServerHandlerPool類
類構(gòu)建一個(gè)線程隊(duì)列,Socket服務(wù)器端把監(jiān)聽到的線程都以任務(wù)task的方式加入到該線程池隊(duì)列中
TimeServerPool類
啟動(dòng)服務(wù)器端的入口。首先初始化任務(wù)隊(duì)列的池TimeServerHandlerPoolserverHandlerPool=newTimeServerHandlerPool(50,1000);
每當(dāng)客戶端來一個(gè)請(qǐng)求,就作為一個(gè)task任務(wù)加入隊(duì)列,線程池來處理serverHandlerPool.execute(newTimeServerHandler(socket));完整代碼
結(jié)束語
Socket編程服務(wù)端用線程池來處理,優(yōu)化了單線程的缺點(diǎn)和性能,也算是解決socket編程的一種方式。但是,我更加喜歡的是使用javanio,或者直接使用netty進(jìn)行socket開發(fā)。在公司的開發(fā)中,也是直接用的netty開發(fā)
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java入門學(xué)習(xí),socket編程書籍”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743