zoukankan      html  css  js  c++  java
  • 多线程入门

    HANDLE WINAPI  CreateThread(
      LPSECURITY_ATTRIBUTES  lpThreadAttributes,
      SIZE_T   dwStackSize,
      LPTHREAD_START_ROUTINE  lpStartAddress,
      LPVOID  lpParameter,
      DWORD  dwCreationFlags,
      LPDWORD  lpThreadId
    
    );

    函数说明:

    第一个参数表示线程内核对象的安全属性,一般传入NULL表示使用默认设置。

    第二个参数表示线程栈空间大小。传入0表示使用默认大小(1MB)。

    第三个参数表示新线程所执行的线程函数地址,多个线程可以使用同一个函数地址。

    第四个参数是传给线程函数的参数。

    第五个参数指定额外的标志来控制线程的创建,为0表示线程创建之后立即就可以进行调度,如果为CREATE_SUSPENDED则表示线程创建后暂停运行,这样它就无法调度,直到调用ResumeThread()。

    第六个参数将返回线程的ID号,传入NULL表示不需要返回该线程ID号。

    函数返回值:

    成功返回新线程的句柄,失败返回NULL。 

    DWORDWINAPIWaitForSingleObject(
      HANDLEhHandle,
      DWORDdwMilliseconds
    );

    第一个参数为要等待的内核对象。

    第二个参数为最长等待的时间,以毫秒为单位,如传入5000就表示5秒,传入0就立即返回,传入INFINITE表示无限等待。

    因为线程的句柄在线程运行时是未触发的,线程结束运行,句柄处于触发状态。所以可以用WaitForSingleObject()来等待一个线程结束运行。

    函数返回值:

    在指定的时间内对象被触发,函数返回WAIT_OBJECT_0。超过最长等待时间对象仍未被触发返回WAIT_TIMEOUT。传入参数有错误将返回WAIT_FAILED

  • 相关阅读:
    js append()和appendChild()和insertBefore()的区别
    webpack打包工具简单案例
    Vue $ref 的用法
    Vue学习笔记-作用域插槽
    Vue学习笔记-插槽基本使用
    Vue学习笔记-父子通信案例
    Echarts案例-折线图
    Echarts案例-柱状图
    软件构造实验三-递归下降分析分析法
    软件构造实验二-拷贝一个c文件 将其中的关键字int替换成float
  • 原文地址:https://www.cnblogs.com/zsboy/p/3977706.html
Copyright © 2011-2022 走看看