我创建了一个UI线程。我将消息发布到UI线程,该线程将数据写入文件。
我正在使用PostThreadMessage
API将消息发布到用户线程。我的问题是它没有写出我发布的所有数据。对于Instance,如果我发布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
的返回值是成功的。
答案 0 :(得分:0)
如果消息队列已满,则PostMessage函数系列可能失败。您应该检查函数调用是否成功。