字体
第(4/5)页
关灯
   存书签 书架管理 返回目录
D。任何两个线程ID 都不会相同。

    许多Win32 API 函数都以线程ID 作为参数对线程进行cāo作。在调用CreateThread 或者

    _begintread 创建线程的时候,会返回线程ID,可以在这个时候将ID 保存下来。调用Win32 API

    枫叶文学网www.fywxw.com

    第9 章 多线程

    ·215·

    函数GetCurrentThreadID 可以得到当前线程ID。该函数没有参数,它的函数原型如下:

    DWORD GetCurrentThreadId(VOID);

    用户也可以调用Win32 API 函数GetCurrentThread 得到当前线程的伪句柄,函数原型如

    下:

    HANDLE GetCurrentThread(VOID);

    4.线程的切换

    如果希望cāo作系统从当前正在执行的线程切换到其他就绪线程,可以通过调用Win32

    API 函数SwitchToThread 实现,切换后的线程由cāo作系统选择。SwitchToThread 函数没有参

    数,它的函数原型如下:

    BOOL SwitchToThread(VOID);

    5.打开线程

    Win32 API 函数OpenThread 可以打开一个存在的线程对象。如果调用成功,返回指定线

    程的句柄,否则返回NULL。它的函数原型如下:

    HANDLE OpenThread(

    DWORD dwDesiredAccess,

    BOOL bInheritHandle,

    DWORD dwThreadId

    );

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

    ? dwDesiredAccess:描述希望对线程进行的访问。

    ? bInheritHandle:指定返回的句柄是否可以被一个当前进程创建的新进程继承。

    ? dwThreadId:被访问线程的ID。

    6.线程函数ThreadProc

    线程函数是一个由用户定义的函数,作为执行线程的入口。在调用创建线程函数的时候,

    将ThreadProc 作为参数传入。返回调用成功或失败的标记。它的函数原型如下:

    DWORD WINAPI ThreadProc(

    LPVOID lpParcomter

    );

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

    ? lpParcomter:传给线程函数的参数。

    7.获得线程的时间信息

    线程的生命周期中,可以调用GetThreadTcoms 函数得到指定线程的时间信息。如果调用

    成功,返回非0 值,否则返回0。GetThreadTcoms 函数原型如下:

    BOOL GetThreadTcoms(

    HANDLE hThread,

    LPFILETIME lpCreationTcom,

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·216·

    LPFILETIME lpExitTcom,

  
上一页 目录 下一页