【发布时间】:2014-11-05 11:38:38
【问题描述】:
在 wxGLCanvas 和 wxThreads 之间共享数据的应用程序中。
场景:线程修改了画布使用的数据,导致绘制事件崩溃。
当前解决方案:使用互斥锁在画布和线程之间共享数据。
问题:我们在对话框中显示线程的进度信息。互斥锁主线程和进度信息对话框挂起。
约束:我们的数据非常庞大,复制成本很高。画布不应被清除。
我的问题有什么解决方案吗?
【问题讨论】:
标签: opengl thread-safety wxwidgets
在 wxGLCanvas 和 wxThreads 之间共享数据的应用程序中。
场景:线程修改了画布使用的数据,导致绘制事件崩溃。
当前解决方案:使用互斥锁在画布和线程之间共享数据。
问题:我们在对话框中显示线程的进度信息。互斥锁主线程和进度信息对话框挂起。
约束:我们的数据非常庞大,复制成本很高。画布不应被清除。
我的问题有什么解决方案吗?
【问题讨论】:
标签: opengl thread-safety wxwidgets
修改块中的数据,以便主线程有机会定期运行(确保数据在块之间保持一致)。
否则向主线程发送事件以更改数据的信息。工作线程上没有任何信息发生变化,而是主线程根据工作线程执行的计算进行实际更改。
【讨论】: