多线程与WinApi在c++中
Multi-threading with WinApi in C++
我已经在多线程中挣扎了一段时间了…我昨晚设法在我当前的程序中解决了这个问题,我想要的是在我仍然能够使用我的应用程序时运行一个简单的计时器。
我使用msdn引用。
我设法使它工作良好(或至少我认为它工作良好)与这段代码:
case ID_MENUBUTTON0:
hRunMutex = CreateMutex(NULL, TRUE, NULL);
_beginthread(Sistem::timeFrame, 0, NULL);
break;
case ID_MENUBUTTON4:
ReleaseMutex(hRunMutex);
PostQuitMessage(0);
break;
system::timeFrame函数以100ms的间隔计算Sleep(100);
的时间,并将其输出在一个静态窗口中,并每100ms更新一次窗口。
现在我想问的是,既然我真的不明白这些大惊小怪的事情,为什么会有这么多额外的东西?比如WaitForSingleObject
,我见过很多,但不知道它的实际用途。除了ReleaseMutex()
,还有什么需要注意的吗?
WaitForSingleObject和WaitForMultipleObjects用于让一个线程等待,直到另一个线程完成某事。实际应用是协调,比如在轮子放下之前不要降落飞机
相关文章:
- WinAPI挂钩鼠标
- 将执行、作业和WinAPI相乘
- 如何在桌面C++上使用 WinApi 画线
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- Winapi:屏幕截图未显示在窗口中
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- Qt with WinAPI MouseProc
- 如何在"SUBSYSTEM:WINDOWS"下显示并输出到Windows(C++ WinApi)上的
- WinAPI 无法创建按钮
- 将 Win32/WinAPI 应用程序移植到 wxWidgets
- WinAPI 检查窗口是否具有常规标题栏
- 如何使用带有矢量的 winapi 读取进程内存从另一个进程读取缓冲区?
- 将Qt集成到现有的VS项目中以取代WinAPI
- __stdcall - WINAPI vs STDMETHODCALLTYPE vs APIENTRY
- 如何将'this'指针传递给C++ WinAPI 线程?
- Winapi-WM_CLOSE的替代方案
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- WinAPI C++如何从 64 位应用程序加载资源
- winapi 中的哪个功能检查按钮是否正在关闭控制台?
- WinAPI 窗口在使用 PrintWindow 截屏后不再更新