一種多進程文件轉(zhuǎn)換方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文件格式轉(zhuǎn)換領(lǐng)域,尤其涉及一種多進程下的文件轉(zhuǎn)換方法。
【背景技術(shù)】
[0002]多核處理器
[0003]多核處理器是指在一枚處理器中集成兩個或多個完整的計算引擎(內(nèi)核),多核應(yīng)用模式是一個程序采用了線程級并行編程,那么這個程序在運行時可以把并行的線程同時交付給兩個核心分別處理,因而程序運行速度得到極大提高,
[0004]多線程下調(diào)用dll模塊流程,DLL是Dynamic Link Library的縮寫,意為動態(tài)鏈接庫。在Windows中,許多應(yīng)用程序并不是一個完整的可執(zhí)行文件,它們被分割成一些相對獨立的動態(tài)鏈接庫,即DLL文件,放置于系統(tǒng)中。當我們執(zhí)行某一個程序時,相應(yīng)的DLL文件就會被調(diào)用。
[0005]在提高多核CPU并行運行速度的同時,又受到操作系統(tǒng)中內(nèi)存管理的約束,在多線程環(huán)境下,當多個線程同時調(diào)用一個DLL模塊的時候,如果在模塊中多個線程同時需要對內(nèi)存進行操作,就會由于內(nèi)存瓶頸,線程對內(nèi)存的操作需要排隊,由于內(nèi)存引起了線程的等待,沒有辦法充分利用CHJ資源。
【發(fā)明內(nèi)容】
[0006]為此,需要提供一種多進程文件轉(zhuǎn)換方法和裝置,解決多線程同時轉(zhuǎn)化文件CPU資源利用率低的問題。
[0007]為實現(xiàn)上述目的,發(fā)明人提供了一種多進程文件轉(zhuǎn)換方法,包括如下步驟,
[0008]裝置獲取到新的待轉(zhuǎn)換文件,啟動文件轉(zhuǎn)換線程,所述文件轉(zhuǎn)換線程獨立調(diào)用DLL模塊對所述待轉(zhuǎn)換文件進行轉(zhuǎn)換。
[0009]進一步地,啟動文件轉(zhuǎn)換線程后還包括步驟,啟動相應(yīng)的文件轉(zhuǎn)換進程對所述文件轉(zhuǎn)換線程進行管理。
[0010]進一步地,還包括步驟,當文件轉(zhuǎn)換線程崩潰時,對應(yīng)的文件轉(zhuǎn)換進程自動關(guān)閉。[0011 ]進一步地,還包括步驟,當文件轉(zhuǎn)換線程崩潰時,發(fā)送錯誤提示信息。
[0012]—種多進程文件轉(zhuǎn)換裝置,包括文件獲取模塊、線程啟動模塊、轉(zhuǎn)換模塊,
[0013]所述文件獲取模塊用于獲取新的待轉(zhuǎn)換文件,所述線程啟動模塊用于啟動文件轉(zhuǎn)換線程,所述轉(zhuǎn)換模塊用于通過文件轉(zhuǎn)換線程獨立調(diào)用DLL模塊對所述待轉(zhuǎn)換文件進行轉(zhuǎn)換。
[0014]進一步地,還包括進程啟動模塊,所述進程啟動模塊用于在所述線程啟動模塊啟動文件轉(zhuǎn)換線程后,啟動相應(yīng)的文件轉(zhuǎn)換進程對所述文件轉(zhuǎn)換線程進行管理。
[0015]進一步地,所述進程啟動模塊還用于在文件轉(zhuǎn)換線程崩潰時,自動關(guān)閉對應(yīng)的文件轉(zhuǎn)換進程。
[0016]進一步地,還包括信息發(fā)送模塊,所述信息發(fā)送模塊用于在文件轉(zhuǎn)換線程崩潰時,發(fā)送錯誤提示信息。
[0017]區(qū)別于現(xiàn)有技術(shù),上述技術(shù)方案通過文件轉(zhuǎn)換線程獨立調(diào)用DLL模塊,并進行文件轉(zhuǎn)換,每個獨立調(diào)用的DLL模塊都有獨立的內(nèi)存管理,達到了提高CPU資源利用率的效果,上述技術(shù)方案還通過建立相應(yīng)的文件轉(zhuǎn)換進程對文件轉(zhuǎn)換線程進行管控,還避免了某些情況下線程崩潰引起的整個轉(zhuǎn)換程序崩潰的問題。
【附圖說明】
[0018]圖1為本發(fā)明【具體實施方式】所述的方法流程示意圖;
[0019]圖2為本發(fā)明【具體實施方式】所述的裝置模塊示意圖。
[0020]附圖標記說明:
[0021]200、文件獲取模塊;
[0022]202、線程啟動模塊;
[0023]204、轉(zhuǎn)換模塊;
[0024]206、進程啟動模塊;
[0025]208、信息發(fā)送模塊。
【具體實施方式】
[0026]為詳細說明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實現(xiàn)目的及效果,以下結(jié)合具體實施例并配合附圖詳予說明。
[0027]請參閱圖1,為本發(fā)明一種多進程文件轉(zhuǎn)換方法,包括如下步驟,
[0028]S100裝置獲取到新的待轉(zhuǎn)換文件,S102啟動文件轉(zhuǎn)換線程,S106所述文件轉(zhuǎn)換線程獨立調(diào)用DLL模塊對所述待轉(zhuǎn)換文件進行轉(zhuǎn)換。其中,所述待轉(zhuǎn)換文件一般存儲為電子檔案的形式,所述格式轉(zhuǎn)換為將電子檔案從第一存儲格式轉(zhuǎn)為第二存儲格式,如office文檔轉(zhuǎn)換成swf格式的文件、pdf轉(zhuǎn)換至swf、或者圖片格式(jpg、bmp、gif)等之間的相互轉(zhuǎn)換,都能使用該種做法。所述裝置為能夠執(zhí)行電子檔案格式轉(zhuǎn)換的電子設(shè)備,如計算機、手機、平板等,當該裝置通過讀取內(nèi)部存儲裝置、讀取外部存儲裝置(如USB)、網(wǎng)絡(luò)接收(如藍牙、網(wǎng)線)等方式獲取到待轉(zhuǎn)換格式的文件后,進行文件格式轉(zhuǎn)換,進行S102啟動文件轉(zhuǎn)換進程;還可以通過用戶發(fā)送指令的形式通知所述裝置進行文件格式轉(zhuǎn)換,啟動文件轉(zhuǎn)換線程。所述新的待轉(zhuǎn)換文件意為每讀取到一個待轉(zhuǎn)換文件,相對于裝置來說都是新的待轉(zhuǎn)換文件,需要新啟動一個文件轉(zhuǎn)換線程,上述新啟動的文件轉(zhuǎn)換線程再獨立調(diào)用DLL模塊對所述新的待轉(zhuǎn)換文件進行格式轉(zhuǎn)換。由于每個DLL模塊都一般與一個內(nèi)存管理器對應(yīng),所以新啟動的文件轉(zhuǎn)換線程調(diào)用獨立的DLL模塊,擁有獨立的內(nèi)存管理器,即使多個線程并行,也不會由于內(nèi)存復(fù)用等問題出現(xiàn)錯誤,避免了可能出現(xiàn)的程序運行錯誤,也提高了 CHJ的利用效率。
[0029]在另一些進一步的實施例中,啟動文件轉(zhuǎn)換線程后還包括步驟S104,啟動相應(yīng)的文件轉(zhuǎn)換進程對所述文件轉(zhuǎn)換線程進行管理。在實踐中我們的發(fā)明人發(fā)現(xiàn),當多個線程并行于所述裝置中運行時,一般同屬于一個文件轉(zhuǎn)換進程下進行工作。一旦由于一些原因?qū)е挛募D(zhuǎn)換線程崩潰時,對應(yīng)的文件轉(zhuǎn)換進程可能由于裝置的保護原因會同時崩潰或關(guān)閉,導(dǎo)致了一個文件轉(zhuǎn)換線程崩潰,其他正在并行的文件轉(zhuǎn)換線程的工作只能一并停止的問題,極大的降低了文件轉(zhuǎn)換工作的效率,同時,也不利于發(fā)現(xiàn)具體是哪個線程,哪個待轉(zhuǎn)換文件的轉(zhuǎn)換工作出現(xiàn)了異常。因此通過上述步驟,使得每個文件轉(zhuǎn)換線程都對應(yīng)不同的文件轉(zhuǎn)換進程,使得即使文件轉(zhuǎn)換線程關(guān)閉也不會影響其他文件轉(zhuǎn)換線程的正常運行,達到了提高多文件格式轉(zhuǎn)換工作效率的效果。
[0030]在另一些進一步的實施例中,還包括步驟S110,當文件轉(zhuǎn)換線程崩潰時,對應(yīng)的文件轉(zhuǎn)換進程自動關(guān)閉。設(shè)計該步驟可以在文件轉(zhuǎn)換線程崩潰時停止其所屬的文件轉(zhuǎn)換進程,保護裝置的正常運行,使得其他正在工作的文件轉(zhuǎn)換進程不受影響,提高了多進程下文件轉(zhuǎn)換方法的工作效率。
[0031]在其他一些實施例中,還包括步驟S108,當文件轉(zhuǎn)換線程崩潰時,發(fā)送錯誤提示信息。設(shè)計該步驟的好處在于能夠使用戶知悉文件轉(zhuǎn)換工作中出現(xiàn)的異常,能夠及時對異常情況進行排除。
[0032]在圖2所示的一種多進程文件轉(zhuǎn)換裝置模塊示意圖中,包括文件獲取模塊200、線程啟動模塊202、轉(zhuǎn)換模塊204,
[0033]所述文件獲取模塊200用于獲取新的待轉(zhuǎn)換文件,所述線程啟動模塊202用于啟動文件轉(zhuǎn)換線程,所述轉(zhuǎn)換模塊204用于通過文件轉(zhuǎn)換線程獨立調(diào)用DLL模塊對所述待轉(zhuǎn)換文件進行轉(zhuǎn)換。通過上述模塊設(shè)置,使得新啟動的文件轉(zhuǎn)換線程再獨立調(diào)用DLL模塊對所述新的待轉(zhuǎn)換文