与线程相关的API
1、 创建线程
HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa, //安全属性
DWORD cbStack, //堆栈大小
PTHREAD_START_POUTINF pfnSatrtAddr, //函数地址
PVOID pvParam, //函数参数
DWORD fdwCreate, //创建标志
PDWORD pdwThreadID); //新线程的线程ID
2、 终止线程
(1)、从线程函数返回
(2)、线程自己终止自己
VOID ExitThread(
UINT fuExitCode); //退出代码
(3)、终止自身进程或其他进程
BOOL TerminateThread(
HANDLE hThread, //进程句柄
UINT fuExitCode); //退出代码
3、 获取线程句柄
HANDLE GetCurrentThread();
4、 查询自己的线程时间
FILETIME GetThreadTimes(
HANDLE hThread, //线程句柄
FILETIME lpCreationTime, //装载线程的创建时间
FILETIME lpExitTime, //装载线程的中止时间
FILETIME lpKernelTime, //装载线程花在内核模式上的总时间
FILETIME lpUserTime); //装载线程花在用户模式上的总时间
5、 获取线程自身ID
BOOL GetCurrentThreadId();
6、 暂停线程的运行
DWORD SuspendThread(
HANDLE hThread);
7、 唤醒线程
DWORD ResumeThread(
HANDLE hThread);
8、 使进程睡眠
VOID Sleep(
DWORD dwMilliseconds); //睡眠时间
9、 获取结构环境
BOOL GetThreadContext(
HANDLE hThread,
PCONTEXT pContext);
10、获取线程优先级
Int GetThreadPriority(
HANDLE hThread);
11、修改刚创建的线程的优先级
BOOL SetThreadPriority(
HANDLE hThread, //线程句柄
Int nPriority); //相对线程优先级
1、 创建线程
HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa, //安全属性
DWORD cbStack, //堆栈大小
PTHREAD_START_POUTINF pfnSatrtAddr, //函数地址
PVOID pvParam, //函数参数
DWORD fdwCreate, //创建标志
PDWORD pdwThreadID); //新线程的线程ID
2、 终止线程
(1)、从线程函数返回
(2)、线程自己终止自己
VOID ExitThread(
UINT fuExitCode); //退出代码
(3)、终止自身进程或其他进程
BOOL TerminateThread(
HANDLE hThread, //进程句柄
UINT fuExitCode); //退出代码
3、 获取线程句柄
HANDLE GetCurrentThread();
4、 查询自己的线程时间
FILETIME GetThreadTimes(
HANDLE hThread, //线程句柄
FILETIME lpCreationTime, //装载线程的创建时间
FILETIME lpExitTime, //装载线程的中止时间
FILETIME lpKernelTime, //装载线程花在内核模式上的总时间
FILETIME lpUserTime); //装载线程花在用户模式上的总时间
5、 获取线程自身ID
BOOL GetCurrentThreadId();
6、 暂停线程的运行
DWORD SuspendThread(
HANDLE hThread);
7、 唤醒线程
DWORD ResumeThread(
HANDLE hThread);
8、 使进程睡眠
VOID Sleep(
DWORD dwMilliseconds); //睡眠时间
9、 获取结构环境
BOOL GetThreadContext(
HANDLE hThread,
PCONTEXT pContext);
10、获取线程优先级
Int GetThreadPriority(
HANDLE hThread);
11、修改刚创建的线程的优先级
BOOL SetThreadPriority(
HANDLE hThread, //线程句柄
Int nPriority); //相对线程优先级