首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
王智宏基
2017-09-06 22:36
北京理工大学 C++
关注
已关注
取消关注
线程是可以并行的,那么多个进程是否可以并行呢?
这个问题,我在书和google没找到答案.有几个点让楼主疑惑. (限定linux)
1.linux 里线程和进程对内核来说都是一个task_struct, 那么操作系统也可以让进程并行么? 如果可以,是不是和原来的进程不并行的设计冲突了?
2. 并行的时候,操作系统做了什么,又是怎么维护多个cpu的寄存器的?
3. 不用太细致,把设计和思路告诉本菜就好了.谢谢大侠.
#C++工程师#
提示
全部评论
推荐
最新
楼层
MeXo
大连理工大学 C++
线程是调度的基本单位,一个非多线程的进程其实就是一个单线程。所以操作系统当然可以让多个进程并行。至于进程不并行的设计?没有听说过啊,能提下出处吗? 对于Linux内核,线程用的也是task_struct结构体,多核的时候,内核做的就是把task_struct任务调度到 各个CPU上,也就实现了并行。寄存器的话,每个核心都有自己的寄存器,核心执行哪个task_struct,就把那个任务的上下文加载进CPU。至于进程的其他信息,比如虚拟地址映射表都是保存在内存中的, 无关CPU。
点赞
回复
分享
发布于 2017-09-06 23:14
UmdCoding
深圳大学 C++
线程也是有stask_struct,只不过stack结构体中的mm_struct是指向进程的mm_struct,所以线程共享进程的用户虚拟地址空间,只不过各行程拥有自己的用户空间栈,其他的资源都共享进程
点赞
回复
分享
发布于 2017-09-07 10:56
王智宏基
楼主
北京理工大学 C++
推荐大家看Modern OS 10.3.3 节. 1. 进程和线程在操作系统的表示 对与kernel来说,'linux uses 'task_struct' to represent any execution context',所以如果操作系统想要并发执行的话,线程和进程是没有区别的. 2.进程和线程的产生和区别 进程: 只共享memory image 线程 : 除了运行代码的状态(stack和register)以外都shared. 两者的底层调用都是,pid = clone(functino, stack_ptr, sharing_flags, arg) ,进程和线程在sharing_flags 有区别 3.操作系统怎么把一个'task_struct' 放进cpu里执行的 这个问题分为,怎么schedule 和怎么在cpu里运行代码.就不讲了. 谢谢大家.
点赞
回复
分享
发布于 2017-09-07 10:29
infinity23
西安电子科技大学 Java
肯定可以并行啊,打开任务管理器不就可以看到了吗
点赞
回复
分享
发布于 2017-09-07 09:45
Parachutes
华中科技大学 Java
既然有多个cpu,如果不能并行岂不是几个cpu都空闲
点赞
回复
分享
发布于 2017-09-06 22:54
GDUT_SD
广东工业大学 Java
并行是多个CPU逻辑核心分别处理不同进程吧。 单个CPU逻辑核心同一时刻只会执行一个进程,这样子?
点赞
回复
分享
发布于 2017-09-06 22:47
暂无评论,快来抢首评~
相关推荐
01-31 15:08
华南师范大学 前端工程师
字节前端实习一面二面凉经 10月份
字节一面复盘三个部分,自我介绍、技术知识考察、实战考察(如果时间允许,实际没有)流程是问简历上的项目,基本是从上往下看到什么问什么,根据简历问到了vue、WXML、CSS、深度学习、色彩原理、图层蒙版的简单知识。项目问题你后面也写过,WXML, 也写过传统的前端,对吧?对你觉得这个WXML和HTML有什么区别呢? 答:微信小程序接近vue的思想,组件化,库管理更方便。 更好的答案(为什么开发wxml而不使用html):底层优化:WXML 是为小程序环境量身定制的,它与 WXSS 和 JavaScript 的结合更加高效。功能取舍:标签更轻量级,解析和编译开销小安全:屏蔽了iframe href...
大厂面试问八股多还是项目...
点赞
评论
收藏
分享
01-31 15:05
浙江大学 算法工程师
C++面试八股文(Qt 绘图)
1. QPainter的基本使用方法是什么?QPainter 是 Qt 中用于绘制图形和文本的核心类,它提供了丰富的绘图功能,通常与 QWidget 的 paintEvent() 一起使用。使用 QPainter 时的基本步骤如下:创建 QPainter 对象:通过传递目标设备(如 QWidget、QPixmap、QImage 等)来创建一个 QPainter 对象。设置绘制参数:使用 QPainter 提供的 API 设置绘图的属性,例如笔触颜色(setPen())、画刷颜色(setBrush())、字体(setFont())等。执行绘制操作:调用 QPainter 的绘图函数,如 draw...
C++八股文全集
点赞
评论
收藏
分享
01-13 18:50
杭州师范大学 Java
字节春招这就开始捞人了
下午五点多给我打电话问还看不看春招机会
点赞
评论
收藏
分享
昨天 20:51
卓驭科技_HR(准入职员工)
卓驭(大疆车载)内推
自我介绍随后对项目经历的真实性进行了核实,包括项目背景、团队构成及个人分工;面试官询问是否亲自编写过IIC和SPI的底层驱动代码(回答为是);对比IIC与SPI通信的区别(主要涉及速率方面IIC较低而SPI较高、IIC为半双工而SPI为全双工、通信结构上IIC支持多主多从而SPI一般为单主多从点对点模式);介绍BootLoader进行固件升级的整体流程;解释static关键字的用途(可用于修饰变量和函数);阐述函数指针的概念及其实际应用场景(例如在BootLoader中实现向应用程序的跳转);说明结构体变量的几种初始化方式(包括定义后逐成员赋值、定义时按声明顺序初始化、以及定义时通过指定成员名...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
14
分享
评论
提到的真题
返回内容
招聘动态
查看更多
27届简历点评
27届寒假/转正实习汇总
全站热榜
更多
1
...
AI 应用开发学习全景路线图
1.5W
2
...
双非大三生在家20小时写了个Agent开源项目
5498
3
...
大厂到底想要什么样的人???
5376
4
...
害怕被嘲笑就不去做了吗?
5134
5
...
字节国际化广告后端一面
3957
6
...
字节的offer流程需要多久
3698
7
...
小红书前端一面
2335
8
...
字节日常实习二面
2211
9
...
阿里社招一面
2082
10
...
字节财经业务一面凉经
1854
创作者周榜
更多
正在热议
更多
#
在大厂上班是一种什么样的体验
#
6416次浏览
84人参与
#
机械人避雷的岗位/公司
#
41710次浏览
275人参与
#
程序员找工作至少要刷多少题?
#
12012次浏览
189人参与
#
过年最难忘的一件事
#
23037次浏览
174人参与
#
我现在比当时_,你想录用我吗
#
5212次浏览
80人参与
#
12306一秒售罄,你抢到回家的票了吗?
#
1045次浏览
36人参与
#
为了减少AI幻觉,你注入过哪些设定?
#
2450次浏览
90人参与
#
牛客AI体验站
#
4446次浏览
131人参与
#
AI Coding的使用心得
#
3337次浏览
89人参与
#
找工作的破防时刻
#
252931次浏览
1960人参与
#
刚入职的你踩过哪些坑
#
5161次浏览
108人参与
#
一张图晒一下你的AI员工
#
3539次浏览
81人参与
#
你最满意的offer薪资是哪家公司?
#
69439次浏览
349人参与
#
论秋招对个人心气的改变
#
6926次浏览
119人参与
#
关于春招/暑期实习,你想知道哪些信息?
#
5161次浏览
93人参与
#
黄金这个事上,你学到了什么
#
1189次浏览
35人参与
#
机械人你知道哪些单休企业
#
85330次浏览
428人参与
#
程序员能干到多少岁?
#
6577次浏览
99人参与
#
晒晒你司的新年福利
#
5172次浏览
80人参与
#
拿到offer之后,可以做些什么
#
87587次浏览
449人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务