• 线程创建


    1,线程是附属在进程上的执行实体,是代码的执行流程;
    2,一个进程可以包含多个线程,但一个进程至少要包含一个线程(主线程)

    #include <Windows.h>
    
    DWORD WINAPI MyThread(LPVOID lpParameter)
    {
        //ziji de code
    }
    
    int main()
    {
        HANDLE hThread;
        hThread = CreateThread(NULL,0,MyThread,NULL,0,NULL);//如果不对线程操作,可以不拿句柄,传给线程的参数,要保证比线程存活时间更长
        Sleep(5000);//main线程歇5秒
        SuspendThread(hThread);//hThread线程挂起,不跑了先
        //SuspendThread(hThread);//可以多次挂起,前面挂起几次,后面要释放几次,不然不跑
        Sleep(5000);//main线程再歇5秒
        ResumeThread(hThread);//hThread重新跑起来
        CloseHandle(hThread);//线程只有在内核计数器为0&线程代码执行完以后,才会关闭,这里先把计数器复原
        return 0;
    }

     3,多线程的创建

    #include <Windows.h>
    
    DWORD WINAPI MyThread(LPVOID lpParameter)
    {
        //ziji de code
    }
    
    int main()
    {
        HANDLE hThread1;
        HANDLE hThread2;
        //创建多个线程,可以使用同一份线程代码,创建的是不同的堆栈,下面都使用了MyThread线程函数的代码
        hThread1 = CreateThread(NULL,0,MyThread,NULL,0,NULL);
        hThread2 = CreateThread(NULL,0,MyThread,NULL,0,NULL);
        CloseHandle(hThread1);
        CloseHandle(hThread2);
        return 0;
    }
  • 相关阅读:
    Collection与Collections的区别
    Java容器基础概况
    IO与NIO的区别
    BIO、NIO、AIO的区别
    Java中的IO流
    Java中的抽象类
    String常用方法解析
    字符串反转
    vue路由传参
    flask框架(八)—自定义命令flask-script、多app应用、wtforms表单验证、SQLAIchemy
  • 原文地址:https://www.cnblogs.com/a-s-m/p/12348943.html
Copyright © 2020-2023  润新知