zoukankan      html  css  js  c++  java
  • 线程创建

    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;
    }
  • 相关阅读:
    [PHP] thinkphp5 单入口多个模块绑定和路由开关
    [高并发]幂等性、最终一致性
    [高并发]Beanstalkd消息中间件使用
    [高并发]Redis 集群搭建步骤
    [PHP] laravel5.5 搭建流程
    [PHP] 破Laravel白屏问题
    talk 64
    linux
    yum
    linux修改时区
  • 原文地址:https://www.cnblogs.com/a-s-m/p/12348943.html
Copyright © 2011-2022 走看看