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

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