主线程退出,是否子线程也退出了?请高手回答

football 2005-09-09 09:11:02
主线程退出,是否子线程也退出了?
或主线程退出,是否进程就退出了。
哪里有这方面的资料,请高手推荐。


...全文
2421 13 打赏 收藏 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoriyue 2005-09-13
  • 打赏
  • 举报
回复
windows核心编程:
当主线程的进入点函数( Wi n M a i n、w Wi n M a i n、m a i n或w m a i n)返回时,它将返回给C / C + +运行期启动代码,它能正确地清除该进程使用的所有的C运行期资源。当C运行期资源被
释放之后,C运行期启动代码就显式调用E x i t P r o c e s s,并将进入点函数返回的值传递给它。这解释了为什么只需要主线程的进入点函数返回,就能够终止整个进程的运行。请注意,进程中运行的任何其他线程都随着进程而一道终止运行。
Windows Platform SDK文档声明,进程要等到所有线程终止运行之后才终止运行。就操作
系统而言,这种说法是对的。但是, C / C + +运行期对应用程序采用了不同的规则,通过调用
E x i t P r o c e s s,使得C / C + +运行期启动代码能够确保主线程从它的进入点函数返回时,进程便终止运行,而不管进程中是否还有其他线程在运行。不过,如果在进入点函数中调用E x i t T h r e a d,而不是调用E x t i P r o c e s s或者仅仅是返回,那么应用程序的主线程将停止运行,但是,如果进程中至少有一个线程还在运行,该进程将不会终止运行。
football 2005-09-09
  • 打赏
  • 举报
回复
楼上说的有道理,因为写程序的时候碰到过主界面被关掉了,即主线程退出了。
但是在任务管理器中,进程还存在。

另外,正常的情况,主线程退出的时候,子线程也会退出,这个时候,主线程有向子线程发送什么消息吗?
Jagen在路上 2005-09-09
  • 打赏
  • 举报
回复
并不是楼上的那些所说的那样
虽然通常情况下,主线程退出了,也就表明进程退出了,其他的子进程也会随之退出且被回收资源。
但是有一个特殊的情况,如果子进程内发生死锁,那么这个子进程就无法退出,也会导致整个进程都无法退出。
快乐鹦鹉 2005-09-09
  • 打赏
  • 举报
回复
主线程退出,进程就退出,当然相应的子线程都会退出的。
beyondtkl 2005-09-09
  • 打赏
  • 举报
回复
这当然了 主线程退出 整个进程结束 系统会回收所有进程的资源。。当然也包括结束其子线程。
aiguozhou 2005-09-09
  • 打赏
  • 举报
回复
学习
晨星 2005-09-09
  • 打赏
  • 举报
回复
《Windows核心编程》
Beover1984 2005-09-09
  • 打赏
  • 举报
回复
每个进程都有一个主线程,所以主线程退出也就是进程结束

看看<WINDOWS核心编号>www.infoxa.com有下
Jagen在路上 2005-09-09
  • 打赏
  • 举报
回复
Windows本身在系统级上根本就没有进程的概念,察看这部分源代码会发现,CreateProcess实际上调用的就是CreateThread。这说明主线程即可以概念上的进程了。至于地址空间,仅仅是一个数据结构所决定的,还是与我们所了解的进程概念无关。详细资料可参看《VC++编程深入引导》。
football 2005-09-09
  • 打赏
  • 举报
回复
主线程退出,进程就死亡.
这个方面的文章哪里可以看到。

Windows核心编程 上面写的是
终止进程的运行
若要终止进程的运行,可以使用下面四种方法:
• 主线程的进入点函数返回(最好使用这个方法)。
• 进程中的一个线程调用E x i t P r o c e s s函数(应该避免使用这种方法)。
• 另一个进程中的线程调用Te r m i n a t e P r o c e s s函数(应该避免使用这种方法)。
• 进程中的所有线程自行终止运行(这种情况几乎从未发生)。
这一节将介绍所有这四种方法,并且说明进程结束时将会发生什么情况。

如果主线程界面没有了,但是进程还在后台运行在那里,是否说明主线程还没有结束.
zhaoriyue 2005-09-09
  • 打赏
  • 举报
回复
主线程退出, 表明进程已经死亡. 操作系统会回收所有的进程资源,包括线程所使用的堆栈, 所以所有的线程必然都会死亡. 有个问题要注意, 在任务管理器中看到的不是线程,是进程(不知道有没有windows作业,微软并不把它叫做"进程管理器"???).
oyljerry 2005-09-09
  • 打赏
  • 举报
回复
WM_CLOSE等消息
oyljerry 2005-09-09
  • 打赏
  • 举报
回复
一般情况下,主线程退出,正常的,就应该所有线程都退出了,进程退出
下载代码方式:https://pan.quark.cn/s/edc2010ad9a6 ### H3C IMC Portal 认证操作手册关键知识点阐释 #### 一、Portal认证的介绍 **Portal认证**,英文表述为“入口”,在信息技术领域中特指一种利用Web界面核实用户身份的机制,其目的在于对用户的网络访问权限进行管理。在实施Portal认证的网络架构中,未完成认证的用户在尝试上网时会被强制导向一个特定的网址,该网址提供部分免费的网络服务。若用户希望获取更多的互联网资源,则必须通过Portal Web服务器所提供的界面完成身份验证流程。 #### 二、Portal认证系统的构成与作用 1. **系统构成**: - **接入设备**:承担检测用户是否已完成认证的责任,并根据认证结果执行相应的管理策略。 - **Portal Web服务器**:负责呈现认证界面以及处理用户的认证需求。 - **认证服务器**:通常指代RADIUS服务器,承担最终的用户身份核实职责。 2. **功能特点**: - **安全增强**:集成多种安全措施以保障用户数据及网络资源的完整性。 - **本地Portal Web服务器支持**:允许在本地环境中部署Portal Web服务器,以减少对外部服务的依赖性。 - **交互机制**:描述用户与系统之间的认证交互过程。 - **认证方式**:涵盖用户名密码验证等多种认证手段。 - **认证步骤**:详细说明认证的每一个环节,确保用户能够顺利完成身份核实。 - **过滤规范**:用于监管用户在网络中的行为模式。 - **BYOD支持**:实现Bring Your Own Device(自带设备)的认证功能,适应多元化的设备环境。 -...
代码转载自:https://pan.quark.cn/s/dda4d8b11acf 在线支付系统源代码与第三方支付平台构成了现代电商务体系中不可或缺的组成部分,它们共同形成了数字交易的基础框架。本内容将详细剖析这些核心要素,并围绕相关题展开一系列关联性知识点的论述。 首先,我们需要明确在线支付系统的概念。在线支付系统是指为消费者提供通过互联网购买商品或服务并完成安全支付操作的专用平台。此类系统通常整合了信用卡处理、电钱包、银行直接转账等多种支付选项,旨在为用户创造流畅的购物环境。在构建在线支付系统时,保障交易安全、提升使用便捷度以及优化处理效率是必须优先考虑的关键要素。 其次,我们将探讨系统源代码的相关内容。源代码指的是由程序员采用人类可理解语言编写的应用程序基础指令集。对于编程初学者而言,研究在线支付系统的源代码是掌握此类系统开发方法的重要途径。通过分析源代码,开发者可以深入掌握支付流程中的各个关键环节,例如用户身份验证、交易求处理、银行系统对接等操作。源代码的解读还能帮助开发者学习行业最佳实践,有效预防常见的安全隐患,包括数据库注入攻击和跨站脚本威胁。 再次,第三方支付系统作为另一种重要的支付模式值得关注。这类系统充当商家与消费者之间的中介角色,负责处理交易过程中的支付环节与清算工作。常见的第三方支付服务提供商包括支付宝、微信支付以及PayPal等知名平台。它们通过提供标准化的接口,使商家能够便捷地接入多元化支付渠道,同时通过实施额外的安全防护措施,如风险评估机制和反欺诈系统等,确保消费者在支付过程中的安全性。对于开发者而言,熟练掌握并整合第三方支付系统的应用程序接口(API)是实现在线支付功能的核心技能。 在进行在线支付系统开发时,开发者需要重...
内容概要:本文档介绍了M-PCIe(Mobile PCI Express)技术,这是一种将PCIe协议映射到M-PHY物理层的规范(ECN),旨在将高性能互连扩展至移动设备及其他对功耗敏感的应用场景。M-PCIe保留了PCIe的事务层、数据链路层和协议栈的完整性,仅对物理层逻辑进行优化适配,支持HS-G1至HS-G3高速速率以及PWM-G1低速模式,具备动态链路带宽重配置能力,可在运行时调整速率系列、高速档位和链路宽度,且允许非对称链路宽度。文档详细阐述了M-PCIe的链路架构、符号编码、帧结构、时钟补偿、初始化流程、LTSSM状态机、HIBERN8低功耗机制及测试方法,并强调其实现需同时符合PCI-SIG与MIPI联盟标准。; 适合人群:从事高速接口设计、移动平台硬件开发或嵌入式系统研发的工程师,尤其是涉及PCIe与M-PHY集成的技术人员;具备数字电路、串行链路通信基础知识的研发人员。; 使用场景及目标:①理解如何在移动设备中实现高效能、低功耗的PCIe连接;②掌握M-PCIe链路初始化、带宽动态调节和低功耗状态切换的设计原理;③为开发兼容M-PCIe的芯片、模块或系统提供技术参考。; 阅读建议:此文档为技术规范类资料,建议结合MIPI M-PHY标准与PCIe基础规范对照学习,重点关注链路训练、状态机转换与时序参数定义,适用于芯片设计、固件开发与合规性测试阶段的工程实践。

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧