线程 、进程、协程 三者区别

线程 、进程、协程 三者区别

1. 进程: 通俗理解一个运行起来的程序或者软件叫做进程
    1.1 每次启动一个进程都需要向操作系统索要运行资源,让进程中的线程去执行对应的代码,进程是操作系统分配资源的基本单位
    1.2 默认情况下一个进程只有一个线程,线程是依附在进程里面的, 没有进程就没有线程, 当在进程里面还可以创建多个线程
    1.3 如何理解进程: 把进程想成现实生活中的公司,公司可以给员工提供办公资源(办公桌椅,办公电脑等资源), 真正干活的是员工,所以员工可以想成线程,公司就是进程
2. 进程和线程的对比
    2.1 进程是操作系统资源分配的基本单位,每启动一个进程都需要向操作系统索要运行资源,默认一个进程只有一个线程,线程是依附在进程里面的
    2.2 线程是cpu调度的基本单位, 通过线程去执行进程中代码, 线程是执行代码的分支
    2.3 多进程开发比单进程多线程开发稳定性要强,但是多进程开发比多线程开发资源开销要大
    2.4 多进程开发某个进程死了不会影响其它进程的运行,但是多线程开发该进程死了那么这些线程都要进行销毁

并发: 任务数大于cpu的核数,多个任务轮流执行,由于cpu切换速度特别快,看起来像是一起运行,其实是假象。

并行:  任务数小于或者等于cpu的核数,那么多个任务是真正意义一起执行。

3. 进程、线程、协程
    1.1 先有进程,然后进程可以创建线程,线程是依附在进程里面的, 线程里面可以包含多个协程
    1.2 进程之间不共享全局变量,线程之间共享全局变量,但是要注意资源竞争的问题
    1.3 多进程开发比单进程多线程开发稳定性要强,但是多进程开发比多线程开发资源开销要大
    1.4 多线程开发线程之间执行是无序的,协程之间执行按照一定顺序交替执行
    1.5 协程以后主要用在网络爬虫和网络请求,开辟一个协程大概需要5k空间,开辟一个线程需要512k空间, 开辟一个进程占用资源最多
 
原文:https://blog.csdn.net/weixin_42157608/article/details/80362542

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112290.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 访问服务器出现406问题[通俗易懂]

    解决方式1、查看Jackson包是否存在2、如果url后缀是.html是不能响应json数据的,需要修改后缀名

    2022年4月9日
    39
  • pycharm2021.5.2激活码(最新序列号破解)

    pycharm2021.5.2激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    45
  • Java list转为object_List集合转JSONObject

    Java list转为object_List集合转JSONObject写代码喜欢用Map拼接返回去给前端,这样得到的也是一个标准的JSON,今天先不说Map的优缺点,我们就来说说JSONObject的使用,我用的是阿里的fastjson,先上代码,当我们需要嵌套代码的时候,看需求:由于sessionData后面是{},所以后面的对象必须是一个JSONObject,如果是sessionData后面是[]就可以使用JSONArray。一般sessionDataExpir…

    2022年5月20日
    45
  • docker打开2375「建议收藏」

    docker打开2375「建议收藏」在进行dockerswarm进行管理集群节点时,需要打开端口。1、$pwd/etc/docker创建daemon.json$catdaemon.json{“hosts”:[“tcp://0.0.0.0:2375″,”unix:///var/run/docker.sock”]}2、cat/usr/lib/systemd/system/docker.servic…

    2022年4月29日
    165
  • 细说php读书笔记_细说php自测题

    细说php读书笔记_细说php自测题今天我们来读这本书是兄弟连出版社出版的《细说PHP》,买它的原因是,我的PHP是跟着网上视频自学的。后来第一份工作是使用早些年流行的PHPCMS开发。phpcms并不是一款产品,它是一系列产品,当时市场对于cms这个概念其实不是太严谨,因为除了phpcms、dedecms、连discuz、ecshop也都被归类进去了。哦,还有帝国cms,它出品的火车头采集器当时可以说相当好用,后来因为工作需求,就自己写采集器了。正式因为这些cms系统的出现,再加上php语言本身易学易入门的特…

    2022年10月30日
    0
  • 新东方背单词记忆法_刘晓艳10天背单词怎么背

    新东方背单词记忆法_刘晓艳10天背单词怎么背[来源:新东方作者:胡文宁] 从一上大学起,我就执着地认为,英语问题就是单词问题。你看,无论是精读还是泛读,大量的生词扑面而来,我想,如果这些单词都认识的话,一切不都迎刃而解了吗?刚开始背单词,我也不得其法,功夫下了不少,但是效果甚微。又发现班里有些同学,似乎很容易地就记住了许多单词,心里有些懊恼,常想:上天不公啊,为何我的记忆力就如此这般地差。我打小memory就很poor,常…

    2022年9月13日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号