线程与进程的关系

线程进程1
线程进程2

当你浏览这个博客的时候,我想你可以从这个博客解决下面的问题:

  1. 什么是线程
  2. 什么是进程
  3. 线程与进程的区别
  4. 线程与进程的联系

关于线程与进程的概念,我们可以使用集合的角度来理解,如果说一个计算机的所有程序运行量是个总集,那么,这个总集就是由所有的进程进行总和的,比如我们打开我们的任务管理,就可以看到下面的截图所示:
在这里插入图片描述

线程与进程的关系
电脑同时就在进行着200个进程
1.线程与进程概念
线程: 每个进程中至少包含一个线程,而这些线程都在共享进程的资源空间等,当线程发生变化的时候只会引起CPU执行的过程发生变化,不会改变进程所拥有的资源。同理一个程序中至少包含一个进程。进程中执行运算的最小单位,亦是执行处理机调度的基本单位
进程: 每个进程都有自己的地址空间,资源如,内存,I/O,CPU,同一个进程里的 线程共享本进程里的地址空间,那能不能使用别人家进程的地址空间呢,显然这是不可以的。由于进程的独立性,当某一个进程崩溃之后,在保护模式下不会对别的进程进行影响。资源分配的基本单位,运行调度的基本单位,系统中并发执行的单位。
2.使用区别
当我们对资源的保护管理要求比较高的时候,建议使用多进程,当然存在的开销也会比较大,反过来,如果频繁切换下,对资源的保护管理要求不那么高,或者开销有限,使用多线程会比较方便。
3.两者的比较
(1)调度
同一个进程中,线程的切换不会引起进程的切换;
由一个进程的线程切换到另一个线程的进程时,引起进程的切换。
(2)并发性
进程可以并发执行,而一个进程中的线程也可以并发执行
(3)拥有的资源
一般来说,线程并不会拥有自己的资源,但是它可以访问自己本进程中的资源,比如,一个进程打开的文件等,进程的其他线程是可以共享的。
(4)系统开销
这个跟切换有关,则,下一个可以仔细讲解。

  • 14
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
线程和进程都是操作系统中的概念,线程是在进程内部执行的一段程序,一个进程可以包含多个线程。一个进程可以独立运行,而一个线程必须依附于进程而存在。 区别: 1. 资源占用:进程是系统资源分配的最小单位,包括内存、文件系统和输入输出等,而线程是 CPU 资源分配的最小单位,线程之间共享进程的资源,因此一个进程可以有多个线程,但线程不拥有系统资源,只拥有一些私有资源。 2. 独立性:进程之间是相互独立的,每个进程有自己的地址空间,所以进程之间不能直接通信,需要通过进程间通信机制(IPC)来进行通信。而线程是对进程的进一步细化,线程之间比进程之间更容易通信,因为同一个进程内的线程共享进程的地址空间。 3. 调度:进程是操作系统进行资源分配和调度的基本单位,进程切换时需要保存和恢复上下文环境,代价比较大。而线程是调度的基本单位,线程切换时只需要保存和恢复少量寄存器的内容,所以代价比进程切换要小很多。 4. 安全性:由于多个线程共享进程的资源,所以在同一时刻只能有一个线程访问共享资源,否则就会出现竞态条件,造成数据的不一致性。进程之间的资源是独立的,不存在这样的问题。 综上所述,进程线程的关系是:线程是进程的一部分,进程可以包含多个线程。线程和进程虽然有很多不同之处,但也有很多相同之处,例如都有程序计数器、寄存器、堆栈和内存空间等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值