两个概念
线程 : 就是进程中的一个执行单元 也可以叫执行路径
进程 : 正在运行的程序.当一个程序进入到内存中的时候 就有了一个进程
进程中至少有一个线程,可以有多个线程,我们把有个线程的程序叫多线程程序
进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同。
进程>线程
一个程序至少有一个进程,而一个进程至少有一个线程.
面试题:进程和线程的区别
进程和线程的主要差别在于它们是不同的操作系统资源管理方式,进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径.线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些.但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程.

  1. 简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

  2. 线程的划分尺度小于进程,使得多线程程序的并发性高。

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

  4. 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

  5. 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
    在Windows中,进行CPU分配是以线程为单位的,一个进程可能由多个线程组成
    总线程数<= CPU数量:并行运行
    总线程数> CPU数量:并发运行
    并发:一个处理器同时处理多个任务。
    并行:多个处理器或者是多核的处理器同时处理多个不同的任务.
    前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.
    并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。
    并行(parallelism)是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行。
    来个比喻:并发和并行的区别就是一个人同时吃三个馒头和三个人同时吃三个馒头。
    CPU: 在某一时刻上只能执行一个路径,但是在我们看来 CPU可以执行多个线程
    因为 CPU在进行高速的切换.

    两种调度方式
    分时调用
    抢占式调用 java

    主线程 JVM开启的 每个线程 都有自己的栈空间 相当于执行路径

进程和线程的区别是什么?相关推荐

  1. 程序和进程和线程的区别是什么?

    程序和进程和线程的区别是什么? 进程是操作系统资源分配的基本单位,线程是任务调度执行基本单位(CPU的基本调度单位),程序是静态的指令集合,而进程是运行中的指令集合. 进程:程序的一次执行, 答法1: ...

  2. 进程和线程的区别是什么

    进程和线程的区别是什么?有什么关系?相信大家对于进程都很熟悉了吧,而线程相对于进程而言,是一个更加接近于执行体的概念,为了让大家更好的了解进程和线程,下面给大家介绍进程和线程的区别和联系. 进程 进程 ...

  3. linux 中线程是什么意思,Linux中进程与线程的区别是什么

    Linux中进程和线程的区别是什么?我相信很多没有经验的人对此无能为力.因此,本文总结了问题产生的原因及解决方法.希望你能通过这篇文章解决这个问题. Linux中进程和线程的对比与区别 1.概念 进程 ...

  4. linux中的进程与线程,linux中进程和线程的区别是什么

    linux中进程和线程的区别是:1.一个程序至少有一个进程,一个进程至少有一个线程:2.线程的划分尺度小于进程:3.进程在执行过程中拥有独立的内存单元,而多个线程共享内存. 进程与线程的定义 (推荐学 ...

  5. 进程和线程的区别是什么呢?

    我们先来看一下官方的解释:进程是资源分配的最小单位,线程呢是cpu调度的最小单位. 我们来做个比喻,进程就好比一辆火车,而线程就好比火车的车厢,那总结下来呢 第一,线程是在进程下运行的,单纯的线程是不 ...

  6. 操作系统学习:进程、线程与Linux0.12初始化过程概述

    本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 ps:基于x86硬件的pc系统 进程 进程是一种控制流集合,集合中至少包含一条 ...

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

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

  8. Python全栈开发之11、进程和线程

    一.线程 多任务可以由多进程完成,也可以由一个进程内的多线程完成,一个进程内的所有线程,共享同一块内存python中创建线程比较简单,导入threading模块,下面来看一下代码中如何创建多线程. d ...

  9. 【转载】进程与线程的区别

    进程是什么? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程是程序的一次 ...

最新文章

  1. 价值4500元的微生物组培训资料
  2. 【Git】认识各种开源协议及其关系
  3. 基于 RocketMQ 的基金数字化陪伴体系的架构实践
  4. html5 js贪吃蛇,html5+js 贪吃蛇
  5. html收款页面模板,订单收款.html
  6. 思路+源码,利用Python破解WIFI密码详解,100M的字典已备好
  7. 盲审不到4分的论文竟中了ICLR 2019??!!ICLR 2019官方这样回应
  8. linux arm交叉编译ko,Ubuntu嵌入式交叉编译环境arm-linux-gcc
  9. 面向对象思想的设计原则概述
  10. C#开发高亮语法编辑器(一)——TextBox ,RichTextBox的局限性
  11. 【ThinkPHP5.0RC2吃螃蟹之】关于ThinkPHP5.0的渲染模板输出
  12. 在中国知网下载 PDF 格式的学位论文
  13. masm32环境配置
  14. 13. 滑动时间窗口算法概念原理
  15. 大学生职业生涯规划书性格特征_大学生职业生涯规划书自我分析
  16. 通知器(Notifier)
  17. 国家也补贴?有华为认证证书的你,就能拿它(附详细操作)
  18. python麦克劳林级数展开
  19. 允许应用更改计算机,解决电脑总弹出“是否允许程序对计算机进行更改”
  20. 《机器学习》周志华 学习笔记

热门文章

  1. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network论文翻译——中英文对照
  2. 用python写名片管理系统
  3. 改变 el-dialog 的宽度
  4. 2018面试题目总结1
  5. Go语言实现区块链与加密货币-Part3(交易优化,单机模拟多节点通信)
  6. python打包exe报错编码问题_python打包成exe,但执行exe报错,求解。
  7. java常用设计模式应用案例
  8. vue 项目中的打包配置
  9. 考试 --微信小程序学习用demo:考证通,在线题库类小程序
  10. oracle11g更改SID-DBname