并发截图版

并发截图版_第1张图片

1.进程:操作系统分配资源(空间、文件、接口等)的基本单位
线程:CPU执行的基本单位。


2.1个cpu在一个时间点只执行一个线程。能执行多个线程是因为线程切换(上下文切换)


3.ALU:计算使用
Registers:存储
PC:记录位置

线程切换时要【保护现场】,下次切回来再使用。

切换线程也有线程开销的,线程个数经验:
cpu 密集型n+1 非cpu密集型 2n+1


并发截图版_第2张图片
重量级:操作系统来管理的;
轻量级:不需要操作系统来管理的,都是轻量级。


并发截图版_第3张图片

并发截图版_第4张图片
并发截图版_第5张图片
并发截图版_第6张图片
并发截图版_第7张图片
并发截图版_第8张图片
并发截图版_第9张图片
并发截图版_第10张图片
并发截图版_第11张图片
调用了汇编指令的cmpxchg1命令。
LOCK_IF_MP:如果是多processor则lock。 MP:Mulit Processor。

并发截图版_第12张图片
并发截图版_第13张图片
总线分3:数据总线、地址总线、控制总线。


并发截图版_第14张图片

并发截图版_第15张图片
并发截图版_第16张图片
并发截图版_第17张图片
并发截图版_第18张图片
并发截图版_第19张图片

偏向锁:
并发截图版_第20张图片
并发截图版_第21张图片
偏向锁延迟4s


rust 语言了解一下。

你可能感兴趣的:(#,多线程)