当前位置:网站首页>进程与线程
进程与线程
2022-07-29 05:24:00 【阿童沐游】
多任务:
单核Vs多核
并发:
并行:
进程:运行中的程序
特点:
优缺:
进程状态:
进程的控制结构
pcb
包含了进程什么信息:
如何组织信息:
进程的控制
创建进程:
终止进程:
阻塞进程:
唤醒进程:
回收进程资源
为什么要回收资源:
僵尸与孤儿:
进程的上下文切换
切换内容:
切换的场景:
进程的调度
调度程序:
阻塞运行态进程后,选择一个进程运行,称为调度程序
调度时机:
调度原则:
原则一:不然cpu空闲
原则二:提高吞吐率
原则三:避免周转时间长
原则四:进程等待时间
原则五:响应时间
调度算法
先来先服务:
短时间优先:
高响应比优先:
时间片轮转:
高优先级优先:
多级反馈:
进程的通信
管道,消息队列,共享内存,信号量,信号,socket。
进程的通信
管道
如何创建,原理:
缺点:
消息队列
原理:
缺点:
存在用户态到内核态的数据拷贝
共享内存
原理:
解决了:
缺点:
信号量
原理:
解决什么
解决过程
信号
作用:
用法:
socket
函数原型
TCP与UDP在socket的过程:(引出网络编程)
线程:是进程中执行的一条流程
特点:
优缺:
有了进程为什么用线程:
线程的共享资源问题
线程的同步
线程的创建
函数原型:
线程的状态
进程与线程的比较
单位,资源,状态,时间
为什么线程开销小
时间:
空间:
cpu的上下文切换
作用:
进程的上下文切换
切换内容:
切换的场景:
线程的上下文切换
同一进程?
线程的三种实现方式
用户线程
是什么:
优缺点:
内核线程
是什么:
优缺点:
轻量级线程是什么。
线程同步的具体实现
为什么会发生竞争?
例如:
互斥的概念
为什么有互斥,原因?
同步概念
在关键点相互等待,互通消息,称线程同步:临界区的入口与结尾
同步与互斥都通过锁来实现
锁
忙等待锁:自旋锁
死循环实现
无等待锁
通过创建线程锁等待队列,先进先出
信号量
线程的同步互斥访问如何实现?
生成者消费者问题:
哲学家就餐问题:
读者与写者问题:
锁:不可避免的死锁问题
概念:
同时满足四个条件:
互斥条件
持有并等待条件
不可剥夺条件
环路等待条件
简单模拟死锁问题
工具定位死锁
linux:pstack<pid>:显示跟踪栈(函数的调用)
gdb
避免死锁:破坏其中一个条件。
边栏推荐
- LeetCode #26.删除有序数组中的重复项
- markdown与Typora
- Encapsulation - Super keyword
- Leetcode 557. reverse word III in string
- 【软件工程之美 - 专栏笔记】16 | 怎样才能写好项目文档?
- #6898 变幻的矩阵 题解
- Leetcode 26. delete duplicates in the ordered array
- Leetcode notes 452. minimum number of arrows to burst balloons (medium) 452. detonate balloons with the minimum number of arrows (medium)
- Unity-默认渲染管线-刻晴卡渲shader
- 循环链表和双向链表
猜你喜欢
随机推荐
shell工具finalShell
Simple code to realize PDF to word document
2022 spring recruit - Hesai technology FPGA technology post (one or two sides, collected from: Digital IC workers and FPGA Explorers)
Abstract encapsulation inheritance polymorphism
JUC collection class is unsafe
Open source based on STM32: MHD Bluetooth speaker (including source code +pcb)
网络爬虫
动态规划总结
Traditional model predictive control trajectory tracking - circular trajectory (function package has been updated)
官方教程 Redshift 08 Light
[beauty of software engineering - column notes] 14 | project management tools: all management problems should be considered whether they can be solved by tools
mavan中的plugin位置
Ml4 self study notes
LeetCode #3.无重复字符的最长子串
数学建模心得
网络安全学习篇
给二维表添加时间序列索引
利用云打码来破解登录遇到验证码的问题
计算机大厂面试题
官方教程 Redshift 05 AOVs








