首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
三天假v
2018-04-14 22:00
南京大学 Java
关注
已关注
取消关注
线程有自己独立的地址空间么
一个老师说线程没有自己独立的地址空间,对么?
提示
全部评论
推荐
最新
楼层
赛罗奥特曼~
新疆大学 C++
我觉得楼上都没回答到点子上,都是按照书上说的,实际自己可以看linux内核源码
4
回复
分享
发布于 2018-04-15 10:23
文中序
合肥工业大学宣城校区 Java
(搬运工) 线程的基本概念 引入进程的目的,是为了使多道程序并发执行,以提高资源利用率和系统吞吐量;而引入线程,则是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。 线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。 引入线程后,进程的内涵发生了改变,进程只作为除CPU以外系统资源的分配单元,线程则作为处理机的分配单元。 线程与进程的比较 1) 调度。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程切换。在不同进程中进行线程切换,如从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换。 2) 拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有系统资源(也有一点必不可少的资源),但线程可以访问其隶属进程的系统资源。 3) 并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且多个线程之间也可以并发执行,从而使操作系统具有更好的并发性,提高了系统的吞吐量。 4) 系统开销。由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、 I/O设备等,因此操作系统所付出的开销远大于创建或撤销线程时的开销。类似地,在进行进程切换时,涉及当前执行进程CPU环境的保存及新调度到进程CPU环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。此外,由于同一进程内的多个线程共享进程的地址空间,因此,这些线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。 5) 地址空间和其他资源(如打开的文件):进程的地址空间之间互相独立,同一进程的各线程间共享进程的资源,某进程内的线程对于其他进程不可见。 6) 通信方面:进程间通信(IPC)需要进程同步和互斥手段的辅助,以保证数据的一致性,而线程间可以直接读/写进程数据段(如全局变量)来进行通信。 线程的属性 在多线程操作系统中,把线程作为独立运行(或调度)的基本单位,此时的进程,已不再是一个基本的可执行实体。但进程仍具有与执行相关的状态,所谓进程处于“执行”状态,实际上是指该进程中某线程正在执行。线程的主要属性如下: 线程是一个轻型实体,它不拥有系统资源,但每个线程都应有一个唯一的标识符和一个线程控制块,线程控制块记录了线程执行的寄存器和栈等现场状态。 不同的线程可以执行相同的程序,即同一个服务程序被不同的用户调用时,操作系统为它们创建成不同的线程。 同一进程中的各个线程共享该进程所拥有的资源。 线程是处理机的独立调度单位,多个线程是可以并发执行的。在单CPU的计算机系统中,各线程可交替地占用CPU;在多CPU的计算机系统中,各线程可同时占用不同的CPU,若各个CPU同时为一个进程内的各线程服务则可缩短进程的处理时间。 —个线程被创建后便开始了它的生命周期,直至终止,线程在生命周期内会经历阻塞态、就绪态和运行态等各种状态变化。
4
回复
分享
发布于 2018-04-15 09:08
BewareMyPower
中国科学院大学 Java
线程栈,进程地址空间
3
回复
分享
发布于 2018-04-14 22:08
老街1
门头沟学院 Web前端
线程拥有所属进程的地址空间
3
回复
分享
发布于 2018-04-14 22:07
Suzaku海
电子科技大学 Java
线程不拥有系统资源
2
回复
分享
发布于 2018-04-14 22:06
OfFerrr
华中科技大学 C++
线程是调度执行的最小单位,进程是资源分配的最小单位(如虚拟内存资源)
点赞
回复
分享
发布于 2018-04-14 22:27
夏日的愚者
University of Arizona C++
地址空间就是内存空间吧,进程有被分配内存空间,同一个进程下的线程共享这些内存,进程是分配资源,线程是执行命令
点赞
回复
分享
发布于 2018-04-14 22:13
gwep
哈尔滨工程大学 C++
地址空间都是按进程分配的,但在地址空间里有专属于线程的线程栈
点赞
回复
分享
发布于 2018-04-14 22:10
resolvewang
拼多多_SRE_稳定性研发工程师
对的,一个很简单的现象可以证明:多线程环境下一个线程崩了,其他线程跟着崩;多进程环境下,一个进程崩了,其他进程没影响
6
回复
分享
发布于 2018-04-15 10:33
我为我罗背口锅
商汤科技_分布式存储工程师
翻一下csapp或者qupe很难吗
点赞
回复
分享
发布于 2020-05-24 14:04
明月照相机
阿里巴巴_阿里云_开发
没有,地址空间指的是独立的逻辑空间映射吧
点赞
回复
分享
发布于 2018-04-17 12:06
已删除
进程由一个task_struct结构体表示,其中有一个字段指向内存管理结构体,内存管理结构体包含了页表基址寄存器的值、指向段内存链表的头指针。一个进程通过这些字段控制地址映射信息和段的大小。
点赞
回复
分享
发布于 2018-04-15 01:16
斗气化胸
第一拖拉机制造厂拖拉机学院 Java
共享
点赞
回复
分享
发布于 2018-04-15 00:12
峰少
广东工业大学 Java
线程有自己的栈、寄存器值,硬要说有自己的地址空间只能认为是这些数据占的空间。
点赞
回复
分享
发布于 2018-04-14 23:38
暂无评论,快来抢首评~
相关推荐
2025-12-30 15:09
已编辑
百度_高级研发工程师
对不起,我有罪
不管别的,先认错,我知道不管怎么回事,我肯定是错了,认错总没错。 2025,华为离职、低谷三个月、上岸大厂、儿子出生,这一步一步走过了,都是命好,我一点没努力,其实我可以做的更好,都是我的错。一、离开华为,是我不够努力 是我错了,试用期干了七项工作,我自不量力,干这么多。 是我错了,七项工作,里面有几样没干好,是我不努力,是我不认真,你们说的对,为什么别人能会我不会,都是我的错。 是我错了,我安全检查的工作,干了80%,坑趟完了,工作别人抢走,转正编名额被抢走,是我的错,我不会舔领导,不会来事,我没做到不被人抢走的地步,是我的错,我忏悔。 是我错了,我应该继续努力,完全认同华为文化,刻苦奋斗,...
对2025年忏悔
点赞
评论
收藏
分享
2025-12-30 20:50
蚌埠坦克学院 嵌入式软件开发
大家实习都在做什么?嵌入式实习生的真实日常
很多人对嵌入式实习都有幻想:一上来就写驱动、调外设、玩硬件。但真正开始实习后,才发现更多时候是在打基础、补短板、熟环境。下面是大多数嵌入式实习生的真实日常。一、看资料、看代码,比写代码多刚进公司,最常做的不是敲代码,而是:看芯片手册、原理图、数据手册看现有工程代码,理清启动流程熟悉寄存器定义、外设配置方式这是必经阶段,不看懂这些,后面根本没法改代码。二、从简单外设开始“刷存在感”真正上手时,通常是这些任务:点灯、按键、串口、定时器改已有 demo,而不是从零写修一些小 bug、适配新板子看起来简单,但这是融入项目的最快方式。三、跟着做功能,而不是独立设计多数实习生做的是:按需求加功能模块修改参...
大家实习都在做什么?
点赞
评论
收藏
分享
2025-11-12 17:27
已编辑
北京理工大学珠海学院 嵌入式软件工程师
这个工资你们去干吗?
#投了多少份简历才上岸#
没有offer的呆呆:
单休不考虑,真的会很累的
投了多少份简历才上岸
点赞
评论
收藏
分享
2025-11-05 18:16
福建理工大学 嵌入式软件开发
双非本嵌软简历求拷打
23届双非嵌入式,RCer,打算本科就业。寒假第一段实习offer已接Base广州,打算暑假拿二段实习大四转长期实习,后尽可能转正。求各位佬帮我看看个人履历与简历还有什么问题。目前最高实习7k转正20k,最低实习3k转正7k(福州本地企业不太当人)主要技术栈在运控与MCU开发,Linux驱动开发涉及不深。
迷雾大森林:
学学 linux 驱动,嵌软大部分都涉及这部分
点赞
评论
收藏
分享
2025-12-30 22:06
门头沟学院 大数据开发工程师
双非一本,选后端还是数据开发?别再盲目跟风了。
直接说结论:没有哪个更好,只有哪个能让你先上岸。认清现实:双非身份意味着什么? 别听那些 双非照样进大厂 的鸡汤,那是极少数。 现实是:你的简历在HR系统里天生优先级低。大厂简历筛选那一关,天生就难。😭 所以,你选什么方向,核心逻辑只有一条:哪条路能让你在面试那几分钟里,靠项目硬实力把面试官镇住? 2. 剥开表象看本质后端开发:系统的地基 ⚙️你每天琢磨的是:怎么让接口快那几十毫秒?高并发下数据库怎么不挂?代码写得优不优雅? 现状: 岗位极多,但卷得离谱。如果你只会增删改查,必挂。你得懂底层,懂分布式,懂性能调优。数据开发:数据的炼金术”💎你每天打交道的是:几亿条数据怎么洗?离线、实时任务...
数据人的面试交流地
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
4
10
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
都 2026 年了,还在神话 AI Agent开发吗?
424
2
...
2025找工年终总结
323
3
...
牛客2025年终报告重磅上线——揭晓你的年度修炼成就!
309
4
...
Goodnight World!文科转码兜兜转转的那些年……
295
5
...
字节实习生涨薪保真?
208
6
...
我的秋招回忆录:从惨败到硕果的成长之路
200
7
...
简历求锐评,211硕士找实习
187
8
...
为什么你的实习是“无效实习”?又该如何做
183
9
...
24h一面到oc速通字节!挑战全网最快timeline
160
10
...
新年第一篇,关于实习背调…
150
创作者周榜
更多
正在热议
更多
#
对2025年忏悔
#
8373次浏览
156人参与
#
非技术2023笔面经
#
316632次浏览
2684人参与
#
一人说一家双休的公司
#
11993次浏览
133人参与
#
虾皮求职进展汇总
#
362383次浏览
2767人参与
#
实习没人带,苟住还是跑路?
#
17790次浏览
326人参与
#
春招前还要继续实习吗?
#
10901次浏览
119人参与
#
应届生,你找到工作了吗
#
97342次浏览
593人参与
#
机械求职避坑tips
#
82482次浏览
534人参与
#
为了秋招你都做了哪些准备?
#
30062次浏览
528人参与
#
经纬恒润求职进展汇总
#
145899次浏览
1075人参与
#
毕业季,你想好怎么跟生活对线了吗?
#
266802次浏览
3863人参与
#
面试官问过你最刁钻的问题是什么?
#
14517次浏览
126人参与
#
每个月的工资都是怎么分配的?
#
81603次浏览
662人参与
#
2025秋招体验点评
#
86516次浏览
721人参与
#
秋招被确诊为……
#
280220次浏览
1587人参与
#
秋招投递攻略
#
255983次浏览
2520人参与
#
AI时代,哪些岗位最容易被淘汰
#
25746次浏览
220人参与
#
实习在多还是在精
#
78040次浏览
494人参与
#
你收到了团子的OC了吗
#
1491373次浏览
11813人参与
#
职场新人生存指南
#
492342次浏览
9518人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务