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

  • 相关阅读:
    生成前N个自然数随机置换的3个程序
    网络流媒体协议之——RTSP协议
    海思屏幕HAL代码解析
    事件路由
    hi3559v100 sdk中双系统AMP架构的初步了解
    LCD RGB 控制技术 时钟篇(下)【转】
    liteos C++支持(十七)
    liteos MMU(十八)
    APP接口做什么?
    APP如何进行通信的
  • 原文地址:https://www.cnblogs.com/zsboy/p/3977706.html
Copyright © 2011-2022 走看看