2 qq 20880415 qq_20880415 于 2016.02.24 13:49 提问

MFC写图像处理程序,现有很多个像素点要进行处理,每个像素点都要遍历同一数组中元素并获的一个值

现在想用多线程加速要如何做呢?因为要处理很多点,用单线程太慢了,求高手指点

3个回答

luoshixian099
luoshixian099   2016.02.25 09:10
已采纳

你这个任务,采用多线程或者单线程时间都一样!

luoshixian099
luoshixian099 回复小看我没门: 你有多少点,就开多少线程!还是一样遍历了所有点。采用每个线程处理一部分点
接近 2 年之前 回复
luoshixian099
luoshixian099 回复小看我没门: 你可以开几个线程分别处理。
接近 2 年之前 回复
luoshixian099
luoshixian099 回复小看我没门: 不好意思,我回答不准确
接近 2 年之前 回复
qq_20880415
qq_20880415 为什么?数据不是可以并行吗,一下处理多个点不是比一个一个处理要快吗
接近 2 年之前 回复
qq_20880415
qq_20880415 为什么?数据不是可以并行吗,一下处理多个点不是比一个一个处理要快吗
接近 2 年之前 回复
qq_20880415
qq_20880415 为什么?数据不是可以并行吗,一下处理多个点不是比一个一个处理要快吗
接近 2 年之前 回复
qq_20880415
qq_20880415 为什么?数据不是可以并行吗,一下处理多个点不是比一个一个处理要快吗
接近 2 年之前 回复
qq_20880415
qq_20880415 为什么?数据不是可以并行吗,一下处理多个点不是比一个一个处理要快吗
接近 2 年之前 回复
qq_20880415
qq_20880415 为什么?数据不是可以并行吗,一下处理多个点不是比一个一个处理要快吗
接近 2 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.02.24 14:32

多个线程,每个线程处理一部分像素点。相当于分配任务

zuishikonghuan
zuishikonghuan   2016.02.24 19:08

创建多个线程,给线程分配一部分像素点,主线程等待所有任务线程完成,这里可以显示“处理中”对话框,然后把处理结果汇总起来就行啦

zuishikonghuan
zuishikonghuan 而且线程多到一定地步后,反而会因系统的线程调度而降低性能。所以不要开太多线程
接近 2 年之前 回复
zuishikonghuan
zuishikonghuan afxbeginthread不是有个参数 pParam吗,可以用他来告诉线程处理那一部分,比如你有3000个像素点,假设创建3个线程,那就一个线程处理1000点就好了,线程不是你开的越多性能越高,一般创建CPU核心数+1就可以了,再多提升的性能也很有限
接近 2 年之前 回复
qq_20880415
qq_20880415 我是直接有多少点就有多少afxbeginthread循环的,结果好像还慢了,但是我也不知道怎么创建多个线程,求点拨
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!