您的当前位置:首页线程的创建及多线程之间的交互方式

线程的创建及多线程之间的交互方式

来源:锐游网
线程的创建及应用
    HANDLE hand = CreateThread(0,0,ThreadFunc,NULL,0,NULL);
    static DWORD WINAPI ThreadFun(LPVOID p)
    {
        //to do :具体实现过程
        return 0;
    }

函数原型:

HANDLE CreateThread ( LPSECURITY_ATTRIBUTE lpThreadAttributes , DWORD dwStackSize , LPTHREAD_START_ROUTINE lpStartAddress , LPVOID lpParameter , DWORD dwCreationFlags , LPDWORD lpThreadId )

该函数在调用进程的进程空间里创建一个新的线程,并返回所建线程的句柄,参数说明如下:

  • lpThreadAttributes: 指向一个SECURITY_ATTRIBUTES结构的指针,该结构决定当前线程的安全属性,一般为NULL;
  • dwStackSize: 指定了线程的堆栈深度,一般为0;
  • lpStartAddress: 表示新线程开始执行是代码所在的函数的地址,即线程起始地址。一般情况为(LPTHREAD_START_ROUTINE)ThreadFunc; ThreadFunc是线程函数名。
  • lpParameter: 指定了线程执行时传递给线程的32为参数,即线程函数的参数;
  • dwCreationFlags: 控制线程创建时附加标志,可以取两种值。0–创建后立即开始; CREATE_SUSPENDED–线程产生后立即处于挂起状态,并不马上执行,直到函数ResumeThread被调用。
  • lpThreadId: 该参数返回所创建线程的ID;如果创建成功则返回线程的句柄,否则返回NULL。
多线程通信的方法主要有以下三种:

因篇幅问题不能全部显示,请点此查看更多更全内容

热门图文

Top