開發了一款切圖軟件,執行速度比較低,考慮用多線程技術,已經開發的項目模塊如下:切割圖片方法,壓縮圖片方法,這兩個方法放入一個類中,在主函數初始化類的實例進行方法調用,請問,切割圖片方法比較耗時間,我想用幾個線程去完成切割圖片的工作,代碼怎么寫?如何調用,多線程以前沒怎么使用,所以忘記了,請各位大蝦幫幫忙,感激不盡!
2 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
呵呵,我以前做過一個跟你說的情況類似的項目。給你說說我當時的思路,希望對你有所幫助。
我以前做的一個項目是任意給你一張圖片,要求你把給定底色的顏色的位置設置為透明。如果一張圖片很大的話,使用單線程運算非常慢,所以最后使用的多線程進行運算,效率大增。
我當時的解決方案是把圖像保存到數組中,然后把這個數組分成要使用線程的數量,假定使用4個。主線程劃分好每個數組大小,并設置好每個線程要處理的數組和信號量(用于處理檢測是否處理完成),然后主線程啟動這4個線程,主線程進程進入等待狀態,當4個輔助線程全部處理完畢后,激活主線程。
思路基本是這樣,我使用多線程后比單線程快了幾倍。
- 2 回答
- 0 關注
- 594 瀏覽
添加回答
舉報
0/150
提交
取消