1.一種應(yīng)用程序無響應(yīng)處理方法,其特征在于,包括:
在應(yīng)用程序啟動時為所述應(yīng)用程序創(chuàng)建用戶交互線程,并為所述用戶交互線程創(chuàng)建任務(wù)執(zhí)行線程;
在所述用戶交互線程中,將收到的待執(zhí)行任務(wù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程;
在所述任務(wù)執(zhí)行線程中,對接收到的任務(wù)消息中的待執(zhí)行任務(wù)進(jìn)行任務(wù)處理;
在所述應(yīng)用程序退出時,結(jié)束所述用戶交互線程及任務(wù)執(zhí)行線程。
2.如權(quán)利要求1所述的應(yīng)用程序無響應(yīng)處理方法,其特征在于,
在所述用戶交互線程中,將收到的待執(zhí)行任務(wù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程之前,還包括:
判斷執(zhí)行所述待執(zhí)行任務(wù)所需的時間是否大于等于預(yù)設(shè)時間閾值,如否,則在所述用戶交互線程中對該待執(zhí)行任務(wù)進(jìn)行處理;否則,對所述的待執(zhí)行任務(wù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程;
所述預(yù)設(shè)時間閾值大于等于應(yīng)用程序無響應(yīng)時間閾值。
3.如權(quán)利要求1或2所述的應(yīng)用程序無響應(yīng)處理方法,其特征在于,將收到的待執(zhí)行任務(wù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程包括:
判斷所述待執(zhí)行任務(wù)是否包含執(zhí)行體,如是,從所述待執(zhí)行任務(wù)中獲取待執(zhí)行體、任務(wù)標(biāo)識以及待執(zhí)行數(shù)據(jù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程;
否則,直接從所述待執(zhí)行任務(wù)中獲取任務(wù)標(biāo)識以及待執(zhí)行數(shù)據(jù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程。
4.如權(quán)利要求3所述的應(yīng)用程序無響應(yīng)處理方法,其特征在于,在所述任務(wù)執(zhí)行線程中對所述待執(zhí)行任務(wù)進(jìn)行任務(wù)處理包括:
從所述任務(wù)消息中提取任務(wù)標(biāo)識以及待執(zhí)行數(shù)據(jù),并判斷所述任務(wù)消息中是否包含執(zhí)行體,如是,生成所述執(zhí)行體對所述待執(zhí)行數(shù)據(jù)進(jìn)行執(zhí)行;否則,根據(jù)所述任務(wù)標(biāo)識和預(yù)設(shè)的任務(wù)標(biāo)識與預(yù)置執(zhí)行體對應(yīng)關(guān)系,提取對應(yīng)的預(yù)置執(zhí)行體對所述待執(zhí)行數(shù)據(jù)進(jìn)行執(zhí)行。
5.如權(quán)利要求4所述的應(yīng)用程序無響應(yīng)處理方法,其特征在于,還包括:
在所述任務(wù)執(zhí)行線程中對所述待執(zhí)行任務(wù)進(jìn)行任務(wù)處理后,將得到的任務(wù)執(zhí)行結(jié)果存儲于任務(wù)結(jié)果數(shù)據(jù)池中,并向所述用戶交互線程反饋至少包含任務(wù)標(biāo)識的任務(wù)處理完成消息;
在所述用戶交互線程中,根據(jù)所述任務(wù)處理完成消息中的任務(wù)標(biāo)識從所述任務(wù)結(jié)果數(shù)據(jù)池中提取對應(yīng)的任務(wù)處理結(jié)果。
6.一種終端,其特征在于,包括:
線程創(chuàng)建模塊,用于在應(yīng)用程序啟動時為所述應(yīng)用程序創(chuàng)建用戶交互線程,并為所述用戶交互線程創(chuàng)建任務(wù)執(zhí)行線程;
用戶交互主控模塊,用于在所述用戶交互線程中,將收到的待執(zhí)行任務(wù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程;
執(zhí)行主控模塊,用于在所述任務(wù)執(zhí)行線程中,對接收到的任務(wù)消息中的待執(zhí)行任務(wù)進(jìn)行任務(wù)處理;
線程結(jié)束模塊,用于在所述應(yīng)用程序退出時,結(jié)束所述用戶交互線程及任務(wù)執(zhí)行線程。
7.如權(quán)利要求6所述的終端,其特征在于,
所述用戶交互主控模塊用于在所述用戶交互線程中創(chuàng)建任務(wù)隊(duì)列、用戶交互消息管理器以及用戶交互消息處理器;
所述任務(wù)隊(duì)列用于存儲待執(zhí)行任務(wù);
所述用戶交互消息管理器用于判斷執(zhí)行所述任務(wù)隊(duì)列中的待執(zhí)行任務(wù)所需消耗的時間是否大于等于預(yù)設(shè)時間閾值,如否,將所述待執(zhí)行任務(wù)發(fā)給所述用戶交互消息處理器進(jìn)行處理;否則,對所述的待執(zhí)行任務(wù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程;
所述預(yù)設(shè)時間閾值大于等于應(yīng)用程序無響應(yīng)時間閾值。
8.如權(quán)利要求6或7所述的終端,其特征在于,
所述用戶交互消息管理器用于判斷所述待執(zhí)行任務(wù)是否包含執(zhí)行體,如是,從所述待執(zhí)行任務(wù)中獲取待執(zhí)行體、任務(wù)標(biāo)識以及待執(zhí)行數(shù)據(jù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程,否則,直接從所述待執(zhí)行任務(wù)中獲取任務(wù)標(biāo)識以及待執(zhí)行數(shù)據(jù)打包成任務(wù)消息發(fā)給所述任務(wù)執(zhí)行線程。
9.如權(quán)利要求8所述的終端,其特征在于,
所述執(zhí)行主控模塊用于在所述任務(wù)執(zhí)行線程創(chuàng)建待執(zhí)行消息隊(duì)列以及執(zhí)行消息處理器;
所述待執(zhí)行消息隊(duì)列用于存儲接收到的任務(wù)消息,并下發(fā)給所述執(zhí)行消息處理器;
所述執(zhí)行消息處理器用于從接收到的任務(wù)消息中提取任務(wù)標(biāo)識以及待執(zhí)行數(shù)據(jù),并判斷所述任務(wù)消息中是否包含執(zhí)行體,如是,生成所述執(zhí)行體對所述待執(zhí)行數(shù)據(jù)進(jìn)行執(zhí)行;否則,根據(jù)所述任務(wù)標(biāo)識和預(yù)設(shè)的任務(wù)標(biāo)識與預(yù)置執(zhí)行體對應(yīng)關(guān)系,提取對應(yīng)的預(yù)置執(zhí)行體對所述待執(zhí)行數(shù)據(jù)進(jìn)行執(zhí)行。
10.如權(quán)利要求9所述的終端,其特征在于,
所述執(zhí)行主控模塊還用于在所述任務(wù)執(zhí)行線程創(chuàng)建執(zhí)行消息管理器;
所述執(zhí)行消息處理器還用于在對所述待執(zhí)行任務(wù)進(jìn)行任務(wù)處理后,將得到的任務(wù)執(zhí)行結(jié)果存儲于任務(wù)結(jié)果數(shù)據(jù)池中,并通過所述執(zhí)行消息管理器向所述用戶交互線程反饋至少包含任務(wù)標(biāo)識的任務(wù)處理完成消息;
所述用戶交互主控模塊還用于在所述用戶交互線程中創(chuàng)建用于存儲任務(wù)處理完成消息的用戶交互消息隊(duì)列;
所述用戶交互消息處理器還用于根據(jù)所述任務(wù)處理完成消息中的任務(wù)標(biāo)識從所述任務(wù)結(jié)果數(shù)據(jù)池中提取對應(yīng)的任務(wù)處理結(jié)果。