专栏首页IT学习Java开发学习中线程和进程的区别
原创

Java开发学习中线程和进程的区别

经常有同学分不清进程和线程的区别,今天刚好有空就整理了一份文章,方便大家区分进程和线程.定义不同:进程是操作系统资源分配的基本单位(说直白点就是指正在运行的程序),而线程是任务调度和执行的基本单位(说直白点就是程序中的一条执行线路)Java开发学习中线程和进程的区别

进程是操作系统对一个正在运行的程序的抽象。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件。而并发运行,则是说一个进程的指令和另一个进程的指令是交错执行的。在大多数系统中,需要运行的进程数是多于可以运行他们的CPU个数的。传统的系统在一个时刻只能执行一个程序,而先进的多核处理器同时能够执行多个程序。无论是在单核系统还是多核系统中,一个CPU看上去都像是在并发地执行多个进程,这个通过处理器在进程间切换来实现的。操作系统实现这种交错执行的机制成为上下文切换。进程也是操作系统进行资源分配的最小单位。

线程,进程间的切换和通信存在较大的开销,为了能并行执行更多的任务,提升系统的效率,才引入了线程的概念。线程间的切换开销比进程间的切换开销小的多。线程是CPU调度的最小单位,它是进程的一部分,只能由进程创建。一个进程有用很多个线程,这些线程共享进程的资源和程序代码。

尽管通常我们认为一个进程只有单一的控制流,但是在现代系统中,一个进程实际上可以由多个称为线程的执行单元组成,每个线程都运行在进程的上线文中,并共享同样的代码和全局数据。由于网络服务器对并行处理的需求,线程成为越来越重要的编程模型,因为多线程之间比多进程之间更容易共享数据,也因为线程一般来说都比进程更高效。当有多处理器可用的时候,多线程也是一种使程序可用更快运行的方法。

进程和线程都是计算系统抽象的一个概念,了解他们之间的区别和运行机制,对编写程序有很大的帮助,后面继续介绍Java中的jvm对线程的创建和管理。 线程的出现也如操作系统一样都是为了最大限度的合理分配管理和利用CPU的空闲资源

欢迎大家在评论区评论留言,千锋哈尔滨小编会及时给大家解答疑惑的

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 新手学习web前端的基础知识内容有哪些

    前几年,很多人看到IT行业越来越火,就想转行成为程序员。那时候转行还是很简单的,不一定要掌握很多技术知识,如果你是前端人员,甚至会写个静态页面就可以去应聘了。但...

    千锋哈尔滨IT培训
  • Web前端开发人员的发展规划

    现在的Web前端技术可以说是越来越成熟了,Web前端市场也非常的火爆,Web前端人才也是异常的紧缺。再者,由于互联网的崛起,Web前端技术的不断发展,也占据了...

    千锋哈尔滨IT培训
  • web前端入行门槛低,值得学习吗

    web前端的火热,不仅仅是因为招聘市场需求量大,还有一个重要的原因就是,入行门槛低,入门简单。相对于IT技术类的其他岗位,web前端绝对算是门槛较低的,当然对应...

    千锋哈尔滨IT培训
  • 漫谈进程和线程

    我们知道文件是对I/O设备的抽象,虚拟存储器是对文件和主存的抽象,指令集是对CPU的抽象,进程是对指令集和虚拟存储器的抽象。如下图所示 。

    木可大大
  • 以下30张进程和线程基础知识图片全家桶,让你一次全部掌握

    我们写好的一行行代码,为了让其工作起来,我们还得把它送进城(进程)里,那既然进了城里,那肯定不能胡作非为了。

    taskctl官方频道
  • 进程和线程基础知识全家桶,30 张图一套带走

    我们写好的一行行代码,为了让其工作起来,我们还得把它送进城(进程)里,那既然进了城里,那肯定不能胡作非为了。

    谭庆波
  • 进程和线程基础知识全家桶,30 张图一套带走

    我们写好的一行行代码,为了让其工作起来,我们还得把它送进城(进程)里,那既然进了城里,那肯定不能胡作非为了。

    五分钟学算法
  • 进程和线程基础知识全家桶,30 张图一套带走

    我们写好的一行行代码,为了让其工作起来,我们还得把它送进城(进程)里,那既然进了城里,那肯定不能胡作非为了。

    小林coding
  • Python Web学习笔记之Python多线程和多进程、协程入门

    进程和线程究竟是什么?如何使用进程和线程?什么场景下需要使用进程和线程?协程又是什么?协程和线程的关系和区别有哪些? 程序切换-CPU时间的分配 首先,我们的任...

    Jetpropelledsnake21
  • Vue.js入门笔记 实例的生命周期

    什么是生命周期:从Vue实例创建、运行、到销毁的期间,总是帮着各种各样的事件,这些事件统称为生命周期。

    Debug客栈

扫码关注云+社区

领取腾讯云代金券