面试八股
文章平均质量分 57
Vanderbiol
这个作者很懒,什么都没留下…
展开
-
面试八股-3-线程进程协程
而对线程而言,除了 CPU 外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源;1. 线程是操作系统的资源,线程的创建、切换、停止等都非常消耗资源,而创建协程不需要调用操作系统的功能,编程语言自身就能完成,所以协程也被称为用户态线程,协程比线程轻量很多;2. 进程和线程切换时,需要切换进程和线程的上下文,进程的上下文切换时间开销远远大于线程上下文切换时间,耗费资源较大,效率要差一些;对条件的测试是在互斥锁的保护下进行的,条件变量始终与互斥锁一起使用。原创 2023-08-08 14:50:00 · 122 阅读 · 0 评论 -
面试八股-2-进程有多少种状态,如何转换
阻塞状态:在运行状态期间,如果进行了阻塞的操作,此时进程暂时无法操作就进入到了阻塞状态,在这些操作完成后就进入就绪状态。- 创建:一个进程启动,首先进入创建状态,需要获取系统资源创建进程管理块(PCB:Process Control Block)完成资源分配。- 运行状态:获取处理器资源,被系统调度,当具有时间片开始进入运行状态。- 就绪状态:在创建状态完成之后,进程已经准备好,处于就绪状态,但是还未获得处理器资源,无法运行。- 终止状态:进程结束或者被系统终止,进入终止状态。2. 进程状态转换图。原创 2023-08-03 17:38:41 · 128 阅读 · 0 评论 -
面试八股-1-进程通信方式有哪些
对信号量的操作分为 P 操作和 V 操作,P 操作是将信号量的值减 1,V 操作是将信号量的值加 1。信号是 Linux 进程间通信的最古老的方式之一,是事件发生时对进程的通知机制,有时也称之为软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。消息队列就是一个消息的链表,可以把消息看作一个记录,具有特定的格式以及特定的优先级,对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息,对消息队列有读权限的进程则可以从消息队列中读走消息,消息队列是随内核持续的。原创 2023-08-03 17:35:31 · 140 阅读 · 0 评论