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