线程共享了进程的哪些资源

CPU通过程序计数器(PC)从内存中取出指令并执行。函数被编译成机器指令后,其第一条指令的内存地址加载到PC寄存器启动执行。线程是函数执行的实体,每个线程有自己的栈、PC寄存器等私有资源,线程上下文包括线程ID、寄存器状态、栈和错误返回码等。操作系统通过线程调度实现多线程的并发执行,即使在单核CPU上也能实现线程间的交替运行。

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

CPU工作原理

CPU只知道两件事:

  1. 从内存中取出指令

  2. 执行指令,然后回到1

图片



❓CPU从哪里取出指令呢?

➡PC寄存器(Program Counter Register)即程序计数器

⭐存放的是指令在内存中的地址

🐖寄存器是CPU内部用来存放数据的一些小型存储区域

图片

PC寄存器中的地址默认是自动加1的


❓PC中的初始值?

内存中的指令是从磁盘中保存的可执行程序加载过来的,磁盘中可执行程序是编译器生成的,编译器又是从哪里生成的机器指令呢?答案就是我们定义的函数

图片

🚩也就是,函数被编译后才会形成CPU执行的指令

那么,只需要找到函数被编译后形成的第一条指令就可以了,第一条指令就是函数入口


简言之,我们需要把函数对应的第一条机器指令的内存地址装入PC寄存器就可以了

函数➡机器指令➡PC寄存器


进程&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值