本篇是這個內(nèi)容的第一篇,主要是寫:遇到的問題,和自己摸索實現(xiàn)的方法。后面還會有一篇是總結(jié)性地寫線程池的相關(guān)內(nèi)容(偏理論的)。
一、背景介紹
朋友的項目開發(fā)到一定程度之后,又遇到了一些問題:在某些流程中的一些節(jié)點,由于是串聯(lián)執(zhí)行的。上一步要等下一步執(zhí)行完畢;或者提交數(shù)據(jù)之后要等待后臺其他系統(tǒng)處理完成之后,才能返回結(jié)果。這樣就會導(dǎo)致,請求發(fā)起方不得不一直等待結(jié)果,用戶體驗很不好;從項目優(yōu)化來說,模塊與模塊之間構(gòu)成了強耦合,這也是不利于以后擴展的,更不用說訪問量上來之后,肯定會抓瞎的問題。所以,我就著手開始,利用異步線程池來解決這個問題。
剛開始的時候,我準(zhǔn)備只是在節(jié)點處另外起線程去執(zhí)行異步操作。但是,考慮到以后的擴展,同時利用“池化”技術(shù),更加高效地重復(fù)利用線程,節(jié)省資源。在這里就選定了,使用線程池的方法。
二、實現(xiàn)步驟
實現(xiàn)總共分為四步: