多线程学习笔记

9 篇文章 0 订阅
6 篇文章 0 订阅

windows编程时若需要使用多线程技术,则需要先创建线程,然后使用这些线程执行相对应的功能.在VC程序中使用多线程,则可以调用API函数CreateThread()函数创建线程.

CreateThread()原型如下:

 

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

 

 

 

 

 

该函数用于创建一个线程,并返回该线程的句柄,各参数含义如下:

lplpThreadAttributes是一个指向结构体SECURITY_ATTRIBUTES的指针,表示指定该线程的安全属性.该参数可以设置为NULL,表示创建线程时使用默认的安全属性.

dwStackSize指定线程初始化时地址空间的大小.如果指定为0时则表示创建的新线程的地址空间与调用该函数的线程地址空间一样.

lpStartAddress是指定该线程的线程函数地址.当线程创建成功后,新建线程将调用该函数执行对应功能.

lpParameter表示将要传递给新建线程的命令行参数.新建线程可以根据该参数的不同而执行不同的功能.

dwCreationFlags用于指定线程建立后是否立即运行.其值有以下两个:

CREATE_SUSPENDED线程创建成功后暂停运行

0 线程创建成功后立即运动

lpThreadId 表示新建线程的ID号,一般设置有NULL.

 

示例代码:

 

#include <windows.h>
#include <stdio.h>

DWORD WINAPI myfun(LPVOID lpParameter);

int main()
{
HANDLE h1;
h1 = CreateThread(NULL, 0, fun1, NULL, 0, NULL);
CloseHandle(h1);
system("pause");
return 0;
}


DWORD WINAPI myfun(LPVOID lpParameter)
{
printf("线程已经运行");
}

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值