进程和线程的区别

概念

  • 进程,是计算机中的程序关于某个数据集合上的一次运行活动,是操作系统的基础,是系统进行资源分配和调度的基本单位,是程序的实体。
  • 线程,是操作系统能够进行运算资源调配的最小单位,它包含在进程中,

区别

  • 进程是线程的容器,是资源分配的最小单位,一个进程可以开启多个线程
  • 线程是系统分配处理器资源的最小单位,进程之内独立执行的一个单元流程,
  • 进程一般由线程、内存、文件/网络句柄组成;线程一般由栈、PC(程序计数器)、TLS(线程本地存储)组成
  • 多进程就是多任务;多线程就是一个任务内多个顺序流在执行
  • 系统开销,进程在创建和销毁的时候有系统分配和回收资源,开销明显大于线程的创建和回收

进程间的通信方式

  • 共享内存
  • 管道和有名管道
  • 消息队列
  • 信号 是在软件层次上对中断机制的一种模拟
  • 信号量 主要作为进程之间及同一种进程的不同线程之间得同步和互斥手段
  • 套接字 这是一种更为一般得进程间通信机制,它可用于网络中不同机器之间的进程间通信,应用非常广泛

进程和线程的关系

  • 一个线程只属于一个进程,而一个进程可以有很多个线程
  • 资源分配给进程,而同一个进程的多个线程贡献这些资源
  • 处理器资源调取分配给线程,所以真正在处理器上执行的是线程
  • 线程在执行过程中,需要协作同步,多个线程一起把任务做完。而进程是大家干相同类似的活。

多线程的优缺点

  • 优点:合理调度处理器资源,提升CPU利用率,提高处理速度
  • 缺点:过多的线程,导致CPU的频繁切换,会加重负担
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容