问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

线程栈和进程栈有什么区别

发布网友 发布时间:2022-04-30 07:00

我来回答

2个回答

热心网友 时间:2023-10-20 15:45

要搞清线程栈和进程栈的区别,首先要弄清线程和进程之间的关系。

线程和进程有很多类似的地方,人们习惯上把线程称为轻量级进程,这个所谓的轻量级是指线程并不拥有自己的系统资源,线程依附于创建自己的进程。

我们可以从l两个个方面来理解线程的轻量级

1. 调度

由于进程之间的线程共享同一个进程地址空间,因此在进程的线程之间做进程切换,并不会引起进程地址空间的切换,从而避免了昂贵的进程切换。当然不同进程组之间是需要进程切换的

2. 拥有资源

进程是操作系统中拥有资源的独立单位,在创建和撤销进程时,操作系统都会为进程分配和回收资源,资源包括地址空间,文件,IO,页表等。但是由于线程是依附与创建进程的,线程的代码段,数据段,打开文件,IO资源,地址空间,页表等都是和进程的所有线程共享的。

从上面我们看出线程并没有独立的地址空间,这就意味着隶属同一进程的所有线程栈,都在所属进程的地址空间中,他们的栈地址不同,但是如果操作栈时发生越界,是有可能破坏其他线程的栈空间的。

而进程实际上可以看作是主线程,它的栈和其它线程栈没有区别。

单线程只有一个栈,多线程则为每个线程都分配一个栈,并且这些栈的地址不同,可以通过如下方法验证这个结论

1. pslist输出系统进程以及他们的线程,在我的机器上得到如下结果

热心网友 时间:2023-10-20 15:46

线程和进程分别用的啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? photoshop里怎么用钢笔画半圆和箭头图案? 如图所示 Linux如何做到将所有终端输出自动娴侥 shell里如何查看进程组ID 一个会话有几个前台进程组和几个后台进程组 用putty或secureCRT通过SSH登录到LINUX,并启动一些进程(比如java) ,为什么关闭了putty,java进程也会关 Linux下的进程的组识别码和进程识别码分别代表什么意思? 将进程组织成进程组有什么好处 子进程和父进程是否属于同一个进程组 linux 进程与作业的概念、区别和关系 什么是前台进程?什么是后台进程?一个会话有几个前台进程组和几个后台进程组 Linux中所有进程之间的关系是怎么样的 进程组这个概念是用来干嘛的呢 屋子里太潮湿怎么办 麦、麦麦、麦麦麦是什么关系呐? 房间太潮湿怎么办?如何去除湿气? 麦麦动是什么 麦麦星球的农场种植好玩么?什么是自己种自己吃? 鱼刺图模型分析坍塌事故发生的管理人员原因有哪些 房间湿气太重,有什么好除湿的办法? 谁知道早晨刷牙牙刷刷断裂意味着什么 怎么用PS做箭头,然后让箭头沿着路径走?我想做一个箭头传送带的样子... 带“禾”字部首的字有哪些? 矢量数据的应用 哪些字带“禾” “禾”是什么意思 illustrator 中读取 矢量图的描点数据 矢量的关系 姓夏的男孩名字,绍字辈 为什么身份证会存在四大错误呀?? 身份证四大错误的原因? 现行的身份证表达上犯了至少四个错,你知道吗? 第二代身份证上的错误 第二代身份证上面有三处错误,具体是什么? 二代身份证的四大错误是哪些? 小米商城已支付订单不能退款吗 为何公安部一个身份证做的都是错误多多呢? 成都东站动车人工取票点 坐地铁7号线去成都东站坐动车怎么取票 发现身份证上的错误 小米商城买的手机已经出库又不能申请退款,如何退货?只是拒收就可以吗... 成都东站动车 进站口和互联网取票各在哪个广场