【发布时间】:2010-10-12 16:27:56
【问题描述】:
我是 wxWidgets (C++) 和线程的新手。关于共享资源,我应该注意什么?我是否应该实现某种基于信号量的资源锁定,GUI 线程和工作线程都可以使用这些资源? wxWidgets 是否提供了一些处理这个问题的能力?
【问题讨论】:
标签: c++ multithreading locking wxwidgets
我是 wxWidgets (C++) 和线程的新手。关于共享资源,我应该注意什么?我是否应该实现某种基于信号量的资源锁定,GUI 线程和工作线程都可以使用这些资源? wxWidgets 是否提供了一些处理这个问题的能力?
【问题讨论】:
标签: c++ multithreading locking wxwidgets
目前不确定您选择的线程库是什么,但在您的情况下,我会使用 wxThread(有关文档,请参阅 here 和 here)。
我应该注意什么 共享资源?
请参阅多线程应用程序的重要说明部分here,了解 wxWidgets 特定的多线程问题。
除此之外,关于共享资源的“通常”问题也适用。
我应该实现某种 基于信号量的资源锁定 GUI 都可以使用 线程和工作线程?做 wxWidgets 提供了一些功能 处理这个?
wxWidgets 已经实现了许多同步对象,请参阅here。
作为旁注,更喜欢使用 RAII 储物柜助手(wxMutexLocker、wxCriticalSectionLocker)而不是显式获取/释放。
【讨论】: