- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 MFC 应用程序,我想在其中加入多线程。最初我正在考虑使用 Boost.Thread,因为使用 boost 开发通常很容易。但是,我想知道是否存在任何问题,我是否应该使用 AfxBeginThread 在 MFC 上下文中确保安全?
最佳答案
我找到了这篇 Microsoft 文章:Multithreading: Programming Tips .它说:
Accessing MFC Objects from Non-MFC Threads
If you have a multithreaded application that creates a thread in a way other than using a CWinThread object, you cannot access other MFC objects from that thread. In other words, if you want to access any MFC object from a secondary thread, you must create that thread with one of the methods described in Multithreading: Creating User-Interface Threads or Multithreading: Creating Worker Threads. These methods are the only ones that allow the class library to initialize the internal variables necessary to handle multithreaded applications.
我打算在模型 View 演示器上下文中使用线程,以便对一些长时间运行的演示器任务进行多线程处理。由于演示者需要与 View 进行通信,我认为这很可能符合访问 MFC 对象的条件(至少是间接访问)。基于此,我决定暂时使用 AfxBeginThread 线程创建方法。
关于c++ - MFC 多线程 : AfxBeginThread vs Boost. 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7826175/
AfxBeginThread 做这件事时有多少开销? 我有一个令人尴尬的并行项目,我想用 AfxBeginThread 启动 4-15 个线程的批处理,等待每个线程自然完成,比较结果,然后重复无数次。
我尝试将结构作为参数传递。 全局结构: struct ThreadParams { HWND window; LIB::ServiceContainer* mrt; }; 在主线程中: T
我正在尝试使用 MFC 创建一个工作线程,所以这里是代码: struct ThreadParam { HWND mDlg; // Note: A handle. }; UINT Test
使用 Afxbeginthread 有什么缺点吗?我们什么时候应该使用 AfxBeginThread,什么时候应该使用 CreateThread API。 最佳答案 对于 MFC 程序,使用 AfxB
我在 MFC 中使用::AfxBeginThread 时遇到问题。 我试着创建一个线程,这是我的代码。 void CMyoControllerView::OnCbnSelchangeComboFist
我可以通过 PostMessage 和 AfxBeginThread(异步调用)实现相同的功能那么PostMessage和AfxBeginThread的区别在哪里呢? 最佳答案 AfxBeginThr
我正在使用 AfxBeginThread 启动一个线程。这将返回一个指向新的 CWinThread 对象的指针。 MSDN 声明此指针为 NULL,如果线程创建失败,它将释放所有内容。但是,一旦线程在
我正在调用 AfxBeginThread 并使用 CWinThread 在我的 MFC 应用程序中启动一个 UI 线程。 我注意到,如果我的主线程在 CWinThread::InitInstance(
看这段代码: // Function that start the thread ... data = (PWTools::Data*)malloc(sizeof(PWTools::Data)); d
我有一个 MFC 应用程序,我想在其中加入多线程。最初我正在考虑使用 Boost.Thread,因为使用 boost 开发通常很容易。但是,我想知道是否存在任何问题,我是否应该使用 AfxBeginT
当您不使用 boost::thread 而是通过 AfxBeginThread 使用 MFC 线程功能时,您能否使用 boost::mutex 库来保护代码的关键部分?如果是这样,这样做有什么问题吗?
我是一名优秀的程序员,十分优秀!