前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >?线程、进程对比

?线程、进程对比

原创
作者头像
忆想不到的晖
修改2021-04-06 11:27:30
7320
修改2021-04-06 11:27:30
举报
文章被收录于专栏:huihui

功能上

  • 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个浏览器
  • 线程,能够完成多任务,比如 一个浏览器中可以的多个网页窗口

定义的不同

  • 进程 Process :是进程实体的运行过程,系统进行资源分配合调度的一个独立单位
  • 线程 thread :是 操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,可与同属一个进程的其他的线程共享进程所拥有的全部资源。

区别

  • 一个程序至少有一个进程,一个进程至少有一个线程。
  • 线线程不能够独立执行,必须依存在进程中
  • 线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高。
  • 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程与进程区别
线程与进程区别

优缺点

进程的优点:

  • 具有 封闭性可再现性
  • 多道程序设计出现后,实现了程序的并发执行和资源共享,提高了 系统的效率系统的资源利用率

进程的缺点:

操作系统调度切换多个线程要比切换调度进程在速度上快的多。而且进程间 内存无法共享,通讯也比较麻烦。

线程之间由于共享进程内存空间,所以交换数据非常方便;在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

切换慢、内存不共享、通信相对麻烦、开销大。

线程的优点:

1)运行于一个进程中的多个线程,它们彼此之间使用 相同的地址空间,共享大部分数据,启动、切换花费时间小

2)线程间方便的通信机制,由于同一进程下的线程之间共享数据空间,所以一个线程的数据可以直接为其它线程所用,这不仅快捷,而且方便;

3)使多 CPU 系统更加有效。操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上;

4)改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。

线程的缺点:

  • 调度时, 要保存线程状态,频繁调度, 需要占用大量的机时;
  • 程序设计上容易出错(线程同步问题)。

线程和进程在使用上各有优缺点:线程共享数据空间、执行开销小,但不利于资源的管理和保护;而进程正相反。

公众号

新建文件夹X

大自然用数百亿年创造出我们现实世界,而程序员用几百年创造出一个完全不同的虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。人们把1000视为权威,我们反其道行之,捍卫1024的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者 。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能上
  • 定义的不同
  • 区别
  • 优缺点
  • 公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com