0
在wxGLCanvas和wxThreads之間共享數據的應用程序中。wxGLCanvas暫停繪製事件?
場景:線程修改canvas所使用的數據,導致paint事件崩潰。
當前解決方案:使用互斥鎖在畫布和線程之間共享數據。
Issue:我們在對話框中顯示線程的進度信息。互斥鎖鎖定主線程並且進度信息對話框掛起。
約束:我們的數據是巨大的,它的拷貝成本很高。畫布不應該被清除。
我的問題的任何解決方案?
在wxGLCanvas和wxThreads之間共享數據的應用程序中。wxGLCanvas暫停繪製事件?
場景:線程修改canvas所使用的數據,導致paint事件崩潰。
當前解決方案:使用互斥鎖在畫布和線程之間共享數據。
Issue:我們在對話框中顯示線程的進度信息。互斥鎖鎖定主線程並且進度信息對話框掛起。
約束:我們的數據是巨大的,它的拷貝成本很高。畫布不應該被清除。
我的問題的任何解決方案?
修改塊中的數據,以便主線程有機會週期性運行(確保塊之間的數據是一致的)。
否則將事件發送到主線程並添加更改數據的信息。工作線程中沒有信息被改變,而是主線程根據工作線程執行的計算進行實際改變。