我的问题是我应该使用什么数据结构将工作分配给每个线程并从中获取计算值。我首先想到的是用保存 x,y 和 iterate_value 的结构填充向量[0] ..向量[63999](对于800x800像素)。将这些向量传递给每个节点 -> 然后将给定向量进一步划分到每个核心(操作系统线程) -> 然后将给定向量进一步划分到每个线程。还有其他可能的方式发送和接收值吗?另外,如果我以向量方式进行操作,我应该通过值传递向量还是通过引用传递向量,在这种情况下哪个会更好?
曼德尔布罗集的不同点需要不同的计算时间(靠近边缘的点更昂贵),因此为每个工作人员提供偶数个像素将使其中一些工作人员比其他工作人员完成得更快。
将图像分成小矩形(图块)。使用多线程队列创建工作列表,并用图块填充它。每个工作线程循环,从工作列表中选取一个图块并提交结果,直到工作列表为空。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)