[Java]进程与线程的区别(转)

线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别:

(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;

(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源

(3)线程是处理器调度的基本单位,但进程不是.

(4)二者均可并发执行.

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.  线程的划分尺度小于进程,使得多线程程序的并发性高。

另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。

但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。

但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.  一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

posted on 2013-09-22 11:10 1iqueen 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lkboy/p/3332742.html

[Java]进程与线程的区别(转)相关推荐

  1. Java进程与线程的区别

    每个进程都独享一块内存空间,一个应用程序可以同时启动多个进程.比如浏览器,打开一个浏览器就相当于启动了一个进程. 线程指进程中的一个执行流程,一个进程可以包含多个线程. 每个进程都需要操作系统为其分配 ...

  2. 高薪程序员面试题精讲系列60之进程与线程的区别有哪些?

    一. 面试题及剖析 1. 今日面试题 什么是进程? 什么是线程? 说说进程与线程的区别有哪些? 2. 题目剖析 我们在面试时,有时会遇到一些知识点,是不分编程语言的.也就是说,无论你是应聘Java.H ...

  3. 程序,进程,线程的区别和联系

    进程和程序区别和联系表现在以下方面: 1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体.而进程则不同,它是程序在某个数据集上的执行.进程是一个动态的实体,它有自己的生命周 ...

  4. 进程和线程的区别(c++)

    进程和线程的区别 进程 process 什么是进程 一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度运行的基本单位 进程与程序的差别 进程是一个动态的概念,而程序只是 ...

  5. Linux进程与线程的区别 详细总结(面试经验总结)

    首先,简要了解一下进程和线程.对于操作系统而言,进程是核心之核心,整个现代操作系统的根本,就是以进程为单位在执行任务.系统的管理架构也是基于进程层面的.在按下电源键之后,计算机就开始了复杂的启动过程, ...

  6. 进程和线程的区别?什么时候用进程?什么时候用线程?----看到好的复制到自己的园子里哈哈...

    进程和线程的区别?什么时候用进程?什么时候用线程? 答:首先得知道什么是进程什么是线程? 我的理解是进程是指在系统中正在运行的一个应用程序:程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的 ...

  7. Linux进程与线程的区别

    2019独角兽企业重金招聘Python工程师标准>>> Linux进程与线程的区别 cnyinlinux 本文较长,耐心阅读,必有收获! 进程与线程的区别,早已经成为了经典问题.自线 ...

  8. 谈谈进程和线程的区别

    进程和线程的区别是面试提问频率最高的问题,没有之一. 我们首先了解一下进程和线程的概念. 进程:一个进程就是一个正在执行程序的实例. 线程:操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进 ...

  9. 进程与线程的区别(面试题)

    进程与线程的区别 1.进程是资源分配最小单位,线程是程序执行的最小单位: 2..进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段.堆栈段和数据段,线程没有独立 ...

最新文章

  1. 第四次作业-团队介绍
  2. 成功解决internal/modules/cjs/loader.js:596 throw err; ^ Error: Cannot find module 'express'
  3. ACM ICPC 2017 Warmup Contest 2[菜鸡选手的成长]
  4. 《剑指offer》把字符串转为整数
  5. js隐藏打开项目隐藏编辑 和删除按钮
  6. JavaScript学习(三十二)— Keycode常用键位码对照表
  7. xampp 中 mysql的相关配置
  8. 从Slice_Header学习H.264(一)--片头语法元素介绍
  9. 稳定域的画法 matlab,基于MATLAB的铣削加工颤振稳定域仿真算法及实现
  10. mysql服务器版本手册_MySQL中文参考手册——与MySQL服务器连接
  11. ajax请求报415错误解决方案
  12. 嵌入式开发——物联网
  13. c++编译报错:ld returned 1 exit status
  14. Open For Bussiness (HelloWorld)
  15. 基于STM32标准库的MS5837程序移植
  16. 基于COLA架构创建运输微服务应用和DDD领域建模
  17. 截图工具FastStone Capture 10.0官方简体中文版
  18. 卡尔曼滤波理论小释之卡尔曼增益
  19. 解决Word2010中插入图片时变成空白框问题
  20. 什么是java实例化_JAVA实例化是什么意思?

热门文章

  1. python的txt导入数据库_python将txt文档每行内容循环插入数据库的方法
  2. java类包装器有什么用_Java中的包装器类
  3. trie树的数据结构_C / C ++中的Trie数据结构
  4. linux chown命令_Linux chown命令示例
  5. iOS UIPageControl
  6. 如何成为一个优秀的C++开发工程师?
  7. Java面试题:Java设计模式11道常见面试题
  8. 一个网络传输框架——zeroMQ 调研笔记
  9. jmeter 一个可能引起性能严重下降的断言设置
  10. PHP手册总结《预定义变量》