线程的初始化到运行过程

本文介绍了Windows系统中线程的创建过程,重点解析CreateThread函数的参数及返回值,阐述线程如何从初始化到运行。在新线程启动时,BaseThreadStart函数执行,设置结构化异常处理,并传递参数给线程函数。当线程函数返回,BaseThreadStart调用ExitThread结束线程。文章还预告了为何推荐使用_CRTAPI1的_beginthreadex而非CreateThread创建线程的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    以前一直对线程的创建、运行过程不清楚,现在看了Windows核心编程的讲解之后总算是比较清楚了,现在就将我看的知识点总结一下。先介绍一下线程的创建函数CreateThread,函数原型如下(摘至MSDN的说明,加上了一些简单的字面翻译):

HANDLE CreateThread (
  SEC_ATTRS
SecurityAttributes,
  ULONGStackSize,
  SEC_THREAD_STARTStartFunction,
  PVOIDThreadParameter,
  ULONGCreationFlags,
  PULONGThreadId
);

Parameters
SecurityAttributes
[in] Pointer to a SEC_ATTRS structure that determines whether the returned handle can be inherited by child processes.
指向一个 SEC_ATTRS 结构的指针用来指明线程返回的句柄是否能被线程所属进程的子进
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值