while (GetMessage()) { TranslateMessage(); DispatchMessage(); switch (msg.message) { case WM_ADD_TASK: task_list.push_back(msg.wParam); break; case WM_DEL_TASK: 删除任务逻辑; break; } while (task_list.size()) { if (PeekMessage()) break; 从task_list中取出一个任务。 执行任务。 } }
HANDLE events[] = {停止事件,有任务事件}; for (;;) { if (停止事件发生) break; Task task; if (!LoadTask(&task)) { 等待停止事件和有任务事件。 continue; } do task; }
原文地址:http://blog.csdn.net/baihacker/article/details/37061675