进程和线程的区别(简要总结)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程和线程的区别(简要总结)相关的知识,希望对你有一定的参考价值。


​welcome to my blog​

进程Process

线程Thread

进程和进程之间是独立的

线程和线程之间共享内存

创建进程耗时长

创建线程耗时短

进程消耗资源多

线程消耗资源少

终止进程速度慢

中止线程速度快

在不同的进程之间切换耗时长

在不同的线程之间切换耗时短

进程在通信方面效率低

线程在通信方面效率高

进程是操作系统资源分配的基本单位

线程是任务调度和执行的基本单位

进程

  1. 执行着的程序叫作进程
  2. 一些操作系统使用"任务"表示某个程序正在执行
  3. 进程总是在主内存中
  4. 进程也是一个活动实体
  5. 一个程序可能会和多个进程有联系
  6. 在多进程系统中可以实现并行处理
  7. 在单进程系统中只能实现并发处理, 也就是通过进程调度算法决定某一时刻执行哪个进程, 让我们以为是同时执行
    举例来说: 打开多个"画图"程序, 每个程序都表示一个进程, 这也体现出"一个程序可能会和多个进程有联系"

线程

  1. 线程是进程的子集; 没有进程就没有线程!
  2. 线程也叫作轻量级进程, 因为线程和进程都能实现多任务, 但是线程是在某个进程中运行的, 并且多个线程共享其依托的进程的资源
  3. 进程中至少有一个线程, 那就是主线程
  4. 进程中也可以有多个线程
  5. 同一个进程中的所有线程共享地址空间, 文件描述符, 栈等其他和进程相关的属性
  6. 由于多个线程共享内存, 所以要对共享变量进行同步, 也就是加锁


以上是关于进程和线程的区别(简要总结)的主要内容,如果未能解决你的问题,请参考以下文章

Java 多线程知识的简单总结

多线程

Java面试题(线程)

进程和线程的定义及区别

JAVA 学习总结 多线程

Java总结——(线程模块 一(线程的创建(方法一)与启动,线程状态与生命周期,进程与线程))