CMS
测试文档1
试卷测试
4月采购订单
外墙logo
春秋装款式参考
工装尺寸统计
123
财经组运营工作日志
teste01
手动阀手动阀
1
测试一个EditorMD
asdad
测试
测试测试12344134
test
撒大撒
dfsdfs
ce
添加一个文本文档
大师傅
个富文本
在线表格
这是一个简单的超链接
测试测试
测试文档
www
qwe
qwe1223
123
测试文档
测试表格
测试新增
测试
12233
测试文档1
测试0902
092-1
目标
地铁大厦车辆停放服务协议
开户许可证
深圳的一个客户
ces
说明书
Only office
进程和线程的区别和联系
测试我们
x测试在线编辑
表格
123
测试
112342355
121ces
llkl
阿顺丰到付
1212
111111111111
预算架构
Only Office
整体介绍
ces
1111
222
测试
文档连接
思维导图
1232
本文档由AAA团队创作
-
+
首页
进程和线程的区别和联系
**概念上** 最开始就是一个进程跑完再跑另一个进程,后来有多道程序分派之后,我们可以利用进程调度算法来在一个电脑上跑多个程序,在我们用户看来这些程序是一起运行的。随着技术的发展,多核处理器的实现使得线程越来越普及,因此我们计算机就可以适配多核出现了线程。 **进程:**进程是系统中正在运行的程序。是计算机分配资源的单位,每一个进程都会有属于自己独立的内存空间,磁盘空间,I\O设备等等。比如说windows中的任务管理器,每一行都是一个进程。在同一进程中还是在不同进程中时系统功能划分的重要决策点。 > 可以把进程比做一个人。每个人都有自己的记忆(内存),人与人通过谈话(消息传递)来交流,谈话既可以面谈( ![=video_iframe]()同一个电脑),也可以远程谈(不同服务器,网络通信)。面谈和远程的区别在于,面谈的话可以立刻知道对方死没死(SIGCHILD信号),而远程只能通过周期性的信条来判断对方是否活着。 **线程:**线程是任务调度的基本单元。(现在来看这局话其实就是正在运行的一个程序有很多任务,而线程是将任务呈现出细粒度,更精确了)其实我觉得线程主要扮演的角色就是如何利用cpu处理代码,完成当前进程中的各个子任务。各个子线程之间共享父进程的代码空间和全局变量,但是每个进程都有自己独立的堆栈,即局部变量对于线程来说是私有的。因此创建多进程代价有点大,在一个进程中创建多线程代价要小很多。 线程大概93年出现的,有SUN Solaris操作系统使用的线程叫做**UNIX International线程**,现在一直用的POSIX线程(POSIX threads),Pthreads线程的头文件是`<pthread.h>`,Win32线程是Windows API的一部分。 线程的特点就是共享地址空间,从而可以高效的共享数据。多线程的价值在于更好的发挥了多核处理器的效能,在单核时代多线程没啥用,因为就一个核心,一个执行单元,按状态机的思路去写程序是最高效的。 **内核实现上** 进程和线程的相同点要远远大于不同点。主要依据就是在 Linux 中,无论进程还是线程,都是抽象成了 task 任务,在源码里都是用 task_struct 结构来实现的。 <img src="https://cdn.jsdelivr.net/gh/guaguaupup/cloudimg/data/202210121007426.png" alt="图片" style="zoom:67%;float:left" />
admin
2025年3月13日 11:57
0 条评论
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期