0

UI スレッドを作成しました。ファイルにデータを書き込む UI スレッドにメッセージを投稿しています。

API を使用PostThreadMessageしてメッセージをユーザー スレッドに投稿しています。私の問題は、投稿したすべてのデータを書き込んでいないことです。たとえば、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は成功です。

4

1 に答える 1

0

メッセージキューがいっぱいになると、PostMessageファミリの関数が失敗する可能性があります。関数呼び出しが成功するかどうかを確認する必要があります。

于 2009-11-25T09:26:11.280 に答える