線程的創建及簡單使用

Windows API 函數CreateThread 在調用它的進程的空間中創建了一個新的線程,其創建的線程不區分工作者線程或者用戶界面線程,只需要知道線程的開始地址以便開始執行即可。

它的函數原型如下:

HANDLE CreateThread(

LPSECURITY_ATTRIBUTES lpThreadAttributes,     //線程的安全屬性

DWORD dwStackSize,         //線程堆棧空間的大小

LPTHREAD_START_ROUTINE lpStartAddress,       //指向線程運行函數地址的指針

LPVOID lpParameter,    //傳遞給線程運行函數的參數

DWORD dwCreationFlags,   //指定附加的、用來控制優先類和線程的創建的標誌

LPDWORD lpThreadId         //返回的線程的ID

);

 

//創建、使用線程的小例子

#include "stdafx.h"

#include <windows.h>

#include <stdio.h>

UINT PrintfHello(LPVOID lpParam);

int main(int argc, char* argv[])

{

       DWORDThreadID;

       printf("ProcessPrintf: Hello World!\n");

       CreateThread(NULL,0, (LPTHREAD_START_ROUTINE)PrintfHello,0,NULL,&ThreadID);

       getchar();

       return0;

}

 

UINT PrintfHello(LPVOID lpParam)

{

       printf("ThreadPrintf: Hello World!\n");

       return0;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章