呵呵,我以前做过一个跟你说的情况类似的项目。给你说说我当时的思路,希望对你有所帮助。
我以前做的一个项目是任意给你一张图片,要求你把给定底色的颜色的位置设置为透明。如果一张图片很大的话,使用单线程运算非常慢,所以最后使用的多线程进行运算,效率大增。
我当时的解决方案是把图像保存到数组中,然后把这个数组分成要使用线程的数量,假定使用4个。主线程划分好每个数组大小,并设置好每个线程要处理的数组和信号量(用于处理检测是否处理完成),然后主线程启动这4个线程,主线程进程进入等待状态,当4个辅助线程全部处理完毕后,激活主线程。
思路基本是这样,我使用多线程后比单线程快了几倍。
最简单的就是使用backgroundworker,有时候遇到的问题是怎么保证线程的同步。