CreateThread

HANDLE CreateThread
(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadID

参数

第一个参数lpthreadattributes表示线程内核对象的安全属性
第二个参数dwstackSize表示栈空间大小,传入0标识使用默认大小1MB
第三个参数Ipstartaddress标识新线程所执行的线程函数地址
第四个参数lpParameter是传给线程函数的参数
第五个参数dwcreaionflage指定额外的标志来控制线程的创建,为0标识线程创建之后立即就可以进行调 度,如果为create_suspenoed则标识线程创建后暂停运行,这样则无法调度,直接调用ResumeThread ()
第六个参数IPthreadid将返回线程的id号,传入NULL表示不需要返回该线程的id号

返回值

线程创建成功返回新线程的句柄,失败则返回NULL

// createthread.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windows.h>
#include <cstdlib>
/*
HANDLE CreateThread
	(
                    LPSECURITY_ATTRIBUTES lpThreadAttributes,
                    DWORD dwStackSize,
                    LPTHREAD_START_ROUTINE lpStartAddress,
                    LPVOID lpParameter,
                    DWORD dwCreationFlags,
                    LPDWORD lpThreadID
	}
*/
DWORD thread1()  //打印
{
	printf("我是thread线程\n"); 
	return 0;
}
DWORD thread2(int n,int m)  //加法
{
	printf("%d\n",n+m);
	return 0;
}
int main(int argc, char* argv[])
{
	DWORD ID;
	HANDLE H[2]; //句柄数组
	H[0] = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)thread1,NULL,0,&ID);
	H[1] = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)thread2(1,2),NULL,0,&ID);
	system("pause");
	printf("Hello World!\n");
	return 0;
}

输出

3
我是thread线程
请按任意键继续. . . Press any key to continue

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值