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