线程VS进程「建议收藏」

线程VS进程「建议收藏」什么是线程、什么是进程在Java中要同时执行(如果是单核,准确的说是交替执行)多个任务,使用的是多线程,而要理解线程,我们先要了解什么是进程什么是线程。一般的定义:进程是指在操作系统中正在运行的一个应用程序,线程是指进程内独立执行某个任务的一个单元。怎么理解呢?比如说QQ是是一个进程,如果你在和A朋友语音聊天的同时和B朋友打字聊天,同时还在QQ群下载图片,这三个操作就相当于开启了三个线程,可以说有了线程之后我们设计的程序就可以一边执行A操作,一边执行B操作了。线程和进程有什么区别呢?首先最直观的

大家好,又见面了,我是你们的朋友全栈君。

什么是线程、什么是进程

在Java中要同时执行(如果是单核,准确的说是交替执行)多个任务,使用的是多线程,而要理解线程,我们先要了解什么是进程什么是线程。
一般的定义:进程是指在操作系统中正在运行的一个应用程序,线程是指进程内独立执行某个任务的一个单元。

怎么理解呢?

比如说QQ是是一个进程,如果你在和A朋友语音聊天的同时和B朋友打字聊天,同时还在QQ群下载图片,这三个操作就相当于开启了三个线程,可以说有了线程之后我们设计的程序就可以一边执行A操作,一边执行B操作了。

线程和进程有什么区别呢?

首先最直观的就是:一个进程可拥有多个线程。
具体比较:
调度
进程拥有资源;
线程是调度和分派的基本单位;
同一进程中线程的切换不会引起进程的切换;
进程间的线程切换则会引起进程切换从而导致资源切换等。

并发性
进程:进程和进程之间可并发执行 ;
线程:除了进程间的并发执行还可以线程之间并发执行;
线程的并发性更高。

拥有资源
线程并不能拥有资源,只有进程才拥有资源。

系统开销
进程创建、切换和撤销都会导致系统为之创建或者回收进程控制卡以及资源,但是线程的创建以及线程间的切换并不会引起系统做这些事儿,所以线程的系统开销明显更小。

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

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

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


相关推荐

  • 前端学到什么程度可以找到工作(应届毕业生有什么优势)

    目录1.前端开发下载安装VScode优化配置2、插件安装3、设置字体大小4、开启完整的Emmet语法支持5、视图2.Node.js入门2.1、什么是Node.js2.2、Node.js有什么用2.3、安装下载:2.4、快速入门2.5、服务器端应用开发3、ES6入门3.2、let声明变量3.3、const声明常量3.4、解构赋值创建3.5、模板字符串创建3.6、声明对象简写创建3.7、定义方法简写3.8、对象拓展

    2022年4月16日
    44
  • SpringBoot部署Jar文件,瘦身优化指南!

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:xautlx gitee.com/xautlx/package-optimize-demo 本文截取代码片段来…

    2021年6月28日
    85
  • Scrapy安装教程(图文)

    Scrapy安装教程(图文)一、直接下载在“开始”里面输入“cmd”进入命令提示符窗口,然后输入pipinstallscrapy看看下载是否成功二、第一步不行的话,看这里先把各种依赖各种包给安装了先1.安装lxml包,pipinstalllxml2.安装wheel包,pipinstallwheel3.安装Pyopensssl,pipinstallpyopenssl4.安装Twisted,进入网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted滑

    2022年9月16日
    0
  • 【python】urllib库之四大模块

    【python】urllib库之四大模块文章目录urllib库一urllib库四大模块1:urlopen()2:data参数3:timeout参数二:request.Request方法1:一般用法2:高级用法1:验证2:代理3:Cookies三:异常处理1:URLError2:HTTPError四:解析链接1:urlparse()2:urlunparse()3:urlsplit()4:urlunsplit()5:urljoin()6:…

    2025年5月24日
    0
  • vmware15激活码【永久激活】「建议收藏」

    (vmware15激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZPB5EL5Q-eyJsaWNlbnNlSWQiOi…

    2022年3月21日
    112
  • foreach遍历list删除元素一定会报错?

    list集合平常自以为用的非常熟了,原来只是用add()方法熟练而已,碰到remove一报错就彻底暴露了自己的短板啦。来,给list集合删除某些元素,先上一段代码:   1)报错啦   Listlist=newArrayList();list.add(“1”);list.add(“2”);list.add(“3”)

    2022年4月6日
    94

发表回复

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

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