进程 线程

基本概念

进程:一个程序在一个数据集合上的一次运行过程。所以一个程序在不同数据集合上运行,乃至一个程序在同样数据集合上的多次运行都是不同的进程。

线程:线程是进程中的一个实体,是被系统独立调度和执行的基本单位。


两者的区别

进程是程序的一次执行;线程可以理解为进程中执行的一段程序片段。

1.进程间是独立的,表现在内存空间、上下文环境上;线程运行在进程空间内。一般来说,进程无法突破进程边界存取其他进程内的存储空间;而同一进程内的线程共享同一内存空间

2.同一进程中的两端代码不能同时执行,除非引入线程。

3.线程属于进程,当进程退出时,该进程所产生的线程都会被强制退出并清除

4.线程占用的资源少于进程占用的资源

5.进程间可以通过IPC通信,但线程不可以。


IPC(Inter-Process Communication)

数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间

共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。

通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。

资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制。

进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 9,631评论 0 23
  • 线程是一种轻量级进程。与进程相比,线程给操作系统带来的创建、维护和管理负担要轻,因为与线程相关的信息非常少。它同时...
    manofmountain阅读 4,298评论 0 2
  • 一.线程与进程相关 1.进程   定义:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,进程是操作系统分...
    Geeks_Liu阅读 5,674评论 2 4
  • 进程与线程的区别 现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码...
    苏糊阅读 4,136评论 0 2
  • 其实,每个人的情况都不一样,但是有些事情却异曲同工。拿大部分年轻人来说,假如你二三十岁,无房无车,但是目标也有这两...
    贾里阅读 2,444评论 0 2