CreateThread线程函数

之前在一篇

基于TCP套接字实现的简单Demo   一文中用到了线程函数CreateThread()函数来

创建新的线程.下面以一个最简单的多线程例子来说明.


C-代码如下:
复制代码
 1 //最简单的创建多线程实例
 2 #include <stdio.h>
 3 #include <windows.h>
 4 
 5 //子线程函数
 6 DWORD WINAPI ThreadFun(LPVOID pM)
 7 {
 8     printf("小刘子线程:%d\n", GetCurrentThreadId());
 9     return 0;
10 }
11 
12 
13 //主函数,所谓主函数其实就是主线程执行的函数。
14 int main()
15 {
16     
17     
18     HANDLE handle = CreateThread(NULL, 0, ThreadFun, NULL, 0, NULL);
19     CloseHandle(handle);
20 
21     printf("小刘主线程\n");
22     //WaitForSingleObject(handle, INFINITE);
23     return 0;
24 }
复制代码

 


运行结果如下,输出结果有三种情况:
CreateThread线程函数_第1张图片


CreateThread线程函数_第2张图片

CreateThread线程函数_第3张图片


虽然主线程和子线程是同时进行,但是很明显每次 执行的步骤并非一样.这里面就存在一个线程同步 的问题.所以在下一篇文章中,我将介绍如何使线程同步。
CreateThread线程函数_第4张图片

你可能感兴趣的:(windows,线程)