浅析Windows Embedded CE下Native C++的开发

2013-10-07 12:55:07 · 作者: · 浏览: 72

本文将介绍下Windows Embedded CE和Windows Mobile下进行Native C++(www.cppentry.com)多线程的开发的情况,希望能为大家搞好Windows Embedded CE开发有所帮助。

发现在网上很多关于Windows Mobile和Window Embedded CE下开发多线程的问题,我把的一般做法blog下来。

定义

在类定义中定义线程句柄和线程ID

  1. HANDLE    mThreadHnd;DWORD    mThreadId; 

启动

启动线程

  1. mThreadHnd = CreateThread(NULL, 0, &ProcessThread, this, CREATE_SUSPENDED, &mThreadId);  
  2. if (mThreadHnd){   
  3.  SetThreadPriority(mThreadHnd,THREAD_PRIORITY_NORMAL);   
  4.    ResumeThread(mThreadHnd);} 

由于Windows Mobile和Window Embedded CE不支持_beginthreadex() ,所以需要使用CreateThread()函数。

停止

停止线程

  1. // Wait for the Thread to DieWaitForSingleObject(mThreadHnd, INFINITE);CloseHandle(mThreadHnd); 

停止线程之前需要发消息让子线程自己恰当的退出,然后父线程等待子线程退出。

我之前实现了一个线程执行任务类,可以参考 Windows Mobile下的重力感应器(Gravitational Sensor)开发 的 “订阅GVector信息”一段。

原文标题:Windows Mobile下如果进行Native C++(www.cppentry.com)多线程的开发

链接:http://www.cnblogs.com/procoder/archive/2010/01/11/Windows-Mobile-MultiThreading-Native-CPP.html