1. // 007_线程创建.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
    2. //
    3. #include <stdio.h>
    4. #include <windows.h>
    5. // 指定程序入口函数为MyFun()
    6. //#pragma comment(linker, "/entry:\"entry\"")
    7. void entry()
    8. {
    9. MessageBox(0, L"entry", 0, 0);
    10. ExitProcess(0);
    11. }
    12. BOOL g_isExist = false;
    13. DWORD WINAPI ThreadProc(LPVOID pArg)
    14. {
    15. while ( g_isExist == false )
    16. {
    17. printf("ThreadProc\n");
    18. Sleep(1000);
    19. }
    20. return 0;
    21. }
    22. int main()
    23. {
    24. //MessageBox(0, L"main", 0, 0);
    25. // 创建线程
    26. HANDLE hThread = CreateThread(
    27. 0,
    28. 0,
    29. &ThreadProc,
    30. 0,
    31. 0, 0);
    32. // 等待内核对象的信号
    33. // hThread 当线程在运行的时候没有信号.
    34. // 当线程结束了就会变成有信号的状态
    35. //WaitForSingleObject(hThread, -1);
    36. while ( 0 )
    37. {
    38. printf("main\n");
    39. Sleep(500);
    40. }
    41. g_isExist = true;
    42. WaitForSingleObject(hThread, -1);
    43. }