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