淺析Windows Embedded CE下Native C++的開發
本文將介紹下Windows Embedded CE和Windows Mobile下進行Native C++多線程的開發的情況,希望能為大家搞好Windows Embedded CE開發有所幫助。
#T#
發現在網上很多關于Windows Mobile和Window Embedded CE下開發多線程的問題,我把的一般做法blog下來。
定義
在類定義中定義線程句柄和線程ID
- HANDLE mThreadHnd;DWORD mThreadId;
啟動
啟動線程
- mThreadHnd = CreateThread(NULL, 0, &ProcessThread, this, CREATE_SUSPENDED, &mThreadId);
- if (mThreadHnd){
- SetThreadPriority(mThreadHnd,THREAD_PRIORITY_NORMAL);
- ResumeThread(mThreadHnd);}
由于Windows Mobile和Window Embedded CE不支持_beginthreadex() ,所以需要使用CreateThread()函數。
停止
停止線程
- // Wait for the Thread to DieWaitForSingleObject(mThreadHnd, INFINITE);CloseHandle(mThreadHnd);
停止線程之前需要發消息讓子線程自己恰當的退出,然后父線程等待子線程退出。
我之前實現了一個線程執行任務類,可以參考 Windows Mobile下的重力感應器(Gravitational Sensor)開發 的 “訂閱GVector信息”一段。
原文標題:Windows Mobile下如果進行Native C++多線程的開發
鏈接:http://www.cnblogs.com/procoder/archive/2010/01/11/Windows-Mobile-MultiThreading-Native-CPP.html