1、在Windows环境下,Win32提供了一系列的API函数来完成线程的创建、挂起、恢复、终结以及通信的工作,主要的函数列表如下:
序号 | 函数名 | 功能 |
1 | CreateThread() | 创建一个新线程 |
2 | ExitThread() | 正常结束一个线程的执行 |
3 | TerminateThead() | 强制终止一个线程的执行 |
4 | ResumeThread() | 重启一个线程 |
5 | SuspendThread() | 挂起一个线程 |
6 | GetExiCodeThread() | 得到一个线程的退出码 |
7 | GetThreadPriority() | 得到一个线程的优先级 |
8 | SetThreadPriority() | 设置一个线程的优先级 |
9 | CloseHandle() | 关闭一个线程的句柄 |
10 | CreateRemoteThread() | 再另一个进程中创建一个新线程 |
11 | PostThreadMessage() | 发送一条消息给指定的线程 |
12 | GetCurrentThread() | 得到当前的线程句柄 |
13 | GetCurrentThreadId() | 得到当前线程的ID |
14 | GetThreadId() | 得到指定线程的ID |
15 | WaitForSingleObject() | 等待单个对象 |
16 | WaitForMultipleObjects() | 等待多个对象 |
关于多线程的API函数还有很多,以上只是列出了一些比较常用的函数,有关“Win32多线程API函数”的更多内容可参考博文:
http://blog.youkuaiyun.com/cbnotes/article/details/8277180
2、CRT(C run-time library即C运行时库)提供的的多线程函数列表如下:
序号 | 函数名 | 功能 |
1 | _beginthread() | 创建一个新线程 |
2 | _endthread() | 结束一个线程的执行 |
3 | _beginthreadex() | 创建一个新线程 |
4 | _endthreadex() | 结束一个线程的执行 |
5 | ResumeThread() | 恢复线程的运行 |
6 | SuspendThread() | 挂起线程 |
7 | GetExiCodeThread() | 得到一个线程的退出码 |
8 | WaitForSingleObject() | 等待单个对象 |
9 | WaitForMultipleObjects() | 等待多个对象 |
有关“CRT提供的多线程函数”的更多内容可参考博文:
http://blog.youkuaiyun.com/cbnotes/article/details/8331632