繁体   English   中英

C程序执行:它在进程还是线程中运行?

[英]C program execution: Does it run in a process or a thread?

我使用代码块在C中运行一个示例hello world程序。

执行该命令时, the process returned 0

我知道它是由操作系统运行的。

我想知道几件事:

  1. 我执行的程序是否与单独的进程相关联,或者操作系统为其分配了单独的线程?

  2. 在Windows 32位或64位中调用函数时,代码段寄存器是否也被压入堆栈?

问题的答案取决于您如何看待流程。

在传统的流程​​模型中,流程是具有地址空间的可调度实体,您会说程序执行了一个流程。

如果您希望将这种传统模型视为具有单个线程的进程,则您的程序将在线程上运行。

这只是文字游戏。

如果在运行本机调度线程的系统上运行,则您的程序存在于一个包含执行线程的线程的进程中。

没有64位段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM