字体
第(1/7)页
关灯
   存书签 书架管理 返回目录
    函数主要参数的意义。

    ? hThread:线程句柄。

    ? dwThreadAffinityMask:线程的相似xìng掩码。

    (2)SetThreadIdealProcessor 函数

    该函数用于为线程设定合适的处理器。当线程等待时间到,系统将在这个处理器上执行

    指定的线程,如果调用成功,将返回上一次的处理器数目或者MAXIMUM_PROCESSORS,

    否则返回-1。它的函数原型如下:

    DWORD SetThreadIdealProcessor(

    HANDLE hThread,

    枫叶文学网www.fywxw.com

    第9 章 多线程

    ·217·

    DWORD dwIdealProcessor

    );

    函数中主要参数的意义如下。

    ? hThread:线程句柄。

    ? dwIdealProcessor:可以执行指定线程的处理器数目,如果dwIdealProcessor 的值为

    MAXIMUM_PROCESSORS,说明该线程没有合适的处理器。

    9.实例:赛马程序

    实例9-1:赛马程序实例。源代码在光盘中“\09\实例9-1\Racing”目录下。

    为了帮助读者理解上述线程的基本知识,为后续高级技术打好基础,本节的最后给出一

    个多线程编程实例,模拟赛马的过程。

    (1)创建工程

    首先利用VC++6.0 的AppWizard 创建基于对话框的工程Racing,所有设置都采用默认选

    项。

    给对话框添加控件。包括1 个图片框、1 个组合框、3 个静态文本控件、3 个滑动杆控件、

    4 个按钮。控件的属xìng如表9-4 所示。

    表9-4 控件属xìng列表

    ID 属xìng或作用 控件类型

    IDC_RACINGBOX Frcom 图像框控件

    IDC_STATIC 速度设置 组合框控件

    IDC_STATIC 红马 静态文本控件

    IDC_STATIC 绿马 静态文本控件

    IDC_STATIC 蓝马 静态文本控件

    IDC_SLIDERR 红马速度 滑动杆控件

    IDC_SLIDERG 绿马速度 滑动杆控件

    IDC_SLIDERB 蓝马速度 滑动杆控件

    IDSTART 开始 按钮

    IDSTOP 停止 按钮

    IDPAUSE 暂停 按钮

    IDCANCEL 关闭 按钮

    (2)定义数据结构

    定义一个包含赛马信息的结构HORSE,代码如下:

    typedef struct _horse

    {

    HWND hWnd; // 窗口句柄

    int speed; // 马速度

    int x; // 马位置的x 坐标

    int y; // 马位置的y 坐标

    int size; // 马的大小, 用一个球来表示,size 是半径

    COLOR color; // 颜色

    CRect rect; // 表示
上一章 目录 下一页