1.一種基于多線程的數(shù)據(jù)處理方法,其特征在于,包括:
重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標(biāo)志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程;
當(dāng)確定重啟之前存在未處理完數(shù)據(jù)的線程時,采用當(dāng)前線程繼續(xù)處理所述數(shù)據(jù);
當(dāng)確定重啟之前不存在未處理完數(shù)據(jù)的線程時,重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,所述預(yù)設(shè)數(shù)量個線程用于處理重啟之后的新數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)各線程對應(yīng)的第一標(biāo)志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程,包括:
當(dāng)所述線程對應(yīng)的第一標(biāo)志位為1時,確定該線程未處理完數(shù)據(jù);
當(dāng)所述線程對應(yīng)的第一標(biāo)志位為0時,確定該線程已處理完數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采用當(dāng)前線程繼續(xù)處理所述數(shù)據(jù),包括:
獲取內(nèi)存中記錄的活躍線程數(shù),并判斷所述活躍線程數(shù)是否為零,所述活躍線程數(shù)指當(dāng)前正在處理數(shù)據(jù)的線程數(shù)目;
當(dāng)所述活躍線程數(shù)為零時,重新創(chuàng)建線程作為當(dāng)前線程處理所述數(shù)據(jù);
當(dāng)所述活躍線程數(shù)不為零時,將當(dāng)前正在處理數(shù)據(jù)的線程作為當(dāng)前線程繼續(xù)處理所述數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述采用當(dāng)前線程繼續(xù)處理所述數(shù)據(jù)之后,所述方法還包括:
當(dāng)確定所述當(dāng)前線程已處理完所述數(shù)據(jù)時,將所述活躍線程數(shù)更新為零,并重新創(chuàng)建所述預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
對指定分區(qū)對應(yīng)的第二標(biāo)志位進(jìn)行標(biāo)記,其中,當(dāng)所述指定分區(qū)對應(yīng)的其中一個線程處理完所述指定分區(qū)的數(shù)據(jù)時,將所述第二標(biāo)志位加1;
當(dāng)所述第二標(biāo)志位等于所述指定分區(qū)對應(yīng)的線程數(shù)目時,確定所述指定分區(qū)的數(shù)據(jù)已被處理完成,并對所述指定分區(qū)中的數(shù)據(jù)進(jìn)行統(tǒng)計;
刪除所述指定分區(qū)的第二標(biāo)志位。
6.一種基于多線程的數(shù)據(jù)處理裝置,其特征在于,包括:
判斷模塊,用于重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標(biāo)志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程;
處理模塊,用于當(dāng)確定重啟之前存在未處理完數(shù)據(jù)的線程時,采用當(dāng)前線程繼續(xù)處理所述數(shù)據(jù);
創(chuàng)建模塊,用于當(dāng)確定重啟之前不存在未處理完數(shù)據(jù)的線程時,重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,所述預(yù)設(shè)數(shù)量個線程用于處理重啟之后的新數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述判斷模塊用于:
當(dāng)所述線程對應(yīng)的第一標(biāo)志位為1時,確定該線程未處理完數(shù)據(jù);
當(dāng)所述線程對應(yīng)的第一標(biāo)志位為0時,確定該線程已處理完數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述處理模塊包括:
判斷單元,用于獲取內(nèi)存中記錄的活躍線程數(shù),并判斷所述活躍線程數(shù)是否為零,所述活躍線程數(shù)指當(dāng)前正在處理數(shù)據(jù)的線程數(shù)目;
第一創(chuàng)建單元,用于當(dāng)所述活躍線程數(shù)為零時,重新創(chuàng)建線程作為當(dāng)前線程處理所述數(shù)據(jù);
第二處理單元,用于當(dāng)所述活躍線程數(shù)不為零時,將當(dāng)前正在處理數(shù)據(jù)的線程作為當(dāng)前線程繼續(xù)處理所述數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括:
更新模塊,用于當(dāng)確定所述當(dāng)前線程已處理完所述數(shù)據(jù)時,將所述活躍線程數(shù)更新為零,并重新創(chuàng)建所述預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù)。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括:
標(biāo)記模塊,用于對指定分區(qū)對應(yīng)的第二標(biāo)志位進(jìn)行標(biāo)記,其中,當(dāng)所述指定分區(qū)對應(yīng)的其中一個線程處理完所述指定分區(qū)的數(shù)據(jù)時,將所述第二標(biāo)志位加1;
統(tǒng)計模塊,用于當(dāng)所述第二標(biāo)志位等于所述指定分區(qū)對應(yīng)的線程數(shù)目時,確定所述指定分區(qū)的數(shù)據(jù)已被處理完成,并對所述指定分區(qū)中的數(shù)據(jù)進(jìn)行統(tǒng)計;
刪除模塊,用于刪除所述指定分區(qū)的第二標(biāo)志位。