操作系统面试题知识点:进程和线程的区别

题目:线程和进程的区别

一、概念介绍

- 进程的基本概念

进程就是一个运行起来的程序,一般见到xx.exe就是一个进程。我们都知道一个操作系统上只有一个CPU,但是CPU通过不断的切换运行的进程,给我们一种任务并行执行的错觉。

- 线程的基本概念

线程是进程中执行运算的最小单位,是进程中的一个实体。是被系统独立调度和分派的基本单位。每个线程都拥有自己独立的程序计数器、虚拟机栈、本地方法栈,并且共享同属于一个进程的所有资源,包括堆和方法区等等。
线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一件事的缺陷,使进程内并发称为可能。

二、进程与线程的关系

以多进程形式,允许多个任务同时运行;
以多线程形式,允许单个任务分成不同的部分运行
提供协调机制,一方面放置进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源。
进程是操作系统资源分配的基本单位
线程是任务调度和执行的基本单位

三、一些概念

互斥锁

比如公司里使用打印机,我们在使用打印机打印东西的时候(还没有打印完),别人刚好也在使用打印机,如果这个时候不做任何处理,打印出来的东西肯定是错乱的。
进程中的资源是共享的,但是资源不能被无数线程使用,加上锁之后能够防止多个线程同时读写某一块内存区域。即同一时刻只能有一个线程持有该锁。互斥锁有两种状态即上锁和解锁。

信号量

信号量广泛用于进程或线程间的同步或互斥。用来保证多个线程不会互相冲突的使用同一块内存区域。信号量是操作系统提供给用户使用的一种机制,帮助用户进程协调使用资源,用户编程的时候可以直接调用,不必自己设计。计算机对信号量只能执行 wait和signal这两种原子操作,即申请和释放信号量时无法被打断。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值