线程的创建

线程的创建
1:使用CreateThread函数创建线程
HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpsa,DWORD cbStack,LPTHREAD_START_ROUTINE lpStartAddr,LPVOID lpvThreadParam,DWORD fdwCreate,LPDWORD lpIDThread);
lpsa:表示线程的安全属性,可以是NULL;
cbStack:表示线程栈的最大大小,该参数可以被忽略
lpStartAddr:表示线程函数,当线程运行时,将执行该函数。其函数原型如下:
DWORD ThreadProc(LPVOID lpParameter);
lpvThreadParam:表示向线程函数传递的参数
fdwCreate:表示线程创建的标志。CREATE_SUSPENDED表示线程创建后立即被挂起,
只有调用ResumeThread()才开始执行该函数; STACK_SIZE_PARAM_IS_A_RESERVATION表示cbStack参数不被忽略
lpIDThread:表示一个整型指针,用于接受线程的ID,线程ID在系统范围内唯一标志
线程。如果该参数是NULL,表
示线程ID不被返回
示例:利用创建线程函数创建一个多线程应用程序,作用是使程序在循环操作过程中能响应界面操作
注意:ThreadProc不是对话框的成员函数
DWORD _stdcall ThreadProc(LPVOID lpParameter)
{
CMutilThreadDlg *pdlg=(CMutilThreadDlg *)lpParameter;//注意,定义一个CMutilThreadDlg的对象
CString count;
for(int i=0;i<99999;i++)
{
count.Format("%d",i);
pdlg->m_current.SetWindowText(count);
count.ReleaseBuffer();
}
return 0;
}

void CMutilThreadDlg::OnButton1()
{
m_hThread=CreateThread(NULL,0,ThreadProc,this,0,NULL);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值