山东理工大学 贾永新 肖爱梅
Visual C++ 6.0 自发布以来,以其强大的功能及各种新特性受到广大编程爱好者的青睐。但是要想成为一个优秀的程序员,写出真正功能强大、能够快速响应且实用的程序就必须充分利用一项关键技术:多线程。笔者在工作中应用这一技术,开发了一个定时关机的实用程序,在此介绍给广大读者,借此帮助读者加深对这一技术的理解。
程序的功能
此实用程序的主要功能是实现定时关机,同时也提供了辅助功能:随时关机、重新启动、注销以及动态时钟。如果设置的时间不对,可以随时更改。这些功能的具体实现采用了多线程技术。
功能的实现
1.线程的定义
本例中单独设置了一个线程监视当前时间,在Visual C++中线程的简单调用语句为:AfxBegin
-Thread(ProcName, param, Priority),第一个参数是线程函数名,param是准备传送给线程的任意32位值,最后一个是线程的优先级(可用常量表示)。这里先定义一个线程函数:
UINT timeThreadProc(LPVOID pParam) //定义线程,必须照此格式
{
CTime gt; //定义时间变量
int hh,mm,ss; //为存储时间定义整型变量
do //判断时间的循环
{
gt=CTime::GetCurrentTime();
//提取当前时间
hh=gt.GetHour(); //分别提取时、分、秒 mm=gt.GetMinute();
ss=gt.GetSecond();
} while ((h!=hh)
关键词:多线程技术在VC中的应用