【发布时间】:2011-02-24 11:02:11
【问题描述】:
这是我的第一个多线程实现,所以可能是初学者的错误。线程处理每第二行像素的渲染(因此所有渲染都在每个线程内处理)。如果线程分别渲染屏幕的上部和下部,问题仍然存在。
两个线程都从相同的变量中读取,这会导致任何问题吗?据我了解,只有编写会导致并发问题......
调用相同的函数会导致任何并发问题吗?再说一次,据我了解,这应该不是问题......
两个线程唯一一次写入同一个变量是在保存计算的像素颜色时。这存储在一个数组中,但它们从不写入该数组中的相同索引。这会导致问题吗?
Multi-threaded rendered image (防止垃圾邮件阻止我直接发布图片..)
附言。我在这两种情况下都使用完全相同的实现,唯一的区别是为渲染创建了一个线程和两个线程。
【问题讨论】:
-
你能发布一些代码吗?如果没有代码,回答您的问题很可能需要一个水晶球。不幸的是,并发问题通常非常非常微妙......
标签: c++ multithreading thread-safety raytracing