我创建了一个 UI 线程。我正在向 UI 线程发布消息,该线程会将数据写入文件。
我正在使用PostThreadMessage
API 将消息发布到用户线程。我的问题是它没有写出我发布的所有数据。例如,如果我发布 100 个数据,它会在每次执行时随机写入 3 或 98 个变化。不会为每条消息调用 Postdata 的处理程序。
CWriteToFile *m_pThread = (CWriteToFile *)AfxBeginThread(RUNTIME_CLASS (CWriteToFile));
PostThreadMessage(m_pThread->m_nThreadID , WM_WRITE_TO_FILE, (WPARAM)pData,NULL);
WaitForSingleObject(m_pThread, INFINITE);
的返回值为PostThreadMessage
成功。