首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[linux] 多进程和多线程

[linux] 多进程和多线程

作者头像
唯一Chat
发布2019-09-10 10:34:56
7420
发布2019-09-10 10:34:56
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

1.在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种”昂贵”的多任务工作方式。 2.而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间 3.根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的: 1)速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。 2)资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。 3)同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。

多线程共享地址空间

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档