今天,我為一個(gè)Timer(java.util.Timer)添加了4個(gè)TimerTask,讓他們對(duì)我的程序進(jìn)行不斷的更新。
task1:處理接收到的數(shù)據(jù),并構(gòu)建為程序中所需的對(duì)象。
task2:解析task1所構(gòu)建的對(duì)象,并作出相應(yīng)處理,最終返回結(jié)果給請(qǐng)求端。
task3:處理外部請(qǐng)求隊(duì)列。
task4:發(fā)送應(yīng)答信息(實(shí)時(shí)性要求不高)。
當(dāng)接收到外部的請(qǐng)求時(shí),把請(qǐng)求加入到請(qǐng)求隊(duì)列。但中間出現(xiàn)了一些問題,當(dāng)task3處理請(qǐng)求時(shí),由于需要和外部進(jìn)行通信,它的通信結(jié)果需要task2來提供,這樣就造成得不到結(jié)果的情況。這是因?yàn)槿绻鹴ask3沒有完成,task2就不能執(zhí)行,因此他們需要分開處理。用兩個(gè)Timer即可。