高等操作系统第五堂课20210329

线程

如何实现用户级线程?

时延、吞吐量

“网络带宽很快”指的是吞吐量很大。

“水龙头水打开”水流的速度指的是时延。

“水龙头的水每秒流的总量”指的是吞吐量。

一般好提高的是吞吐量,时延一般不好提高。

 线程池或者进程池:好处是控制资源的使用,避免了创建线程或者进程时资源不足的问题。

线程池/进程池是提前把线程和进程创建好,在使用的时候不用临时创建,避免了资源不足的问题。

并行和并发的程序设计:

性能遵循摩尔定律,每年翻一倍性能,提高的方式有:主频(但是2007年的时候发热太严重了)、增加晶体管的数量。

并发程序设计:

并发线程/进程、异步(Asynchronous)、同步(Synchronous)、独立(Independent)、并行

当两个并行/并发的线程或者进程不能并行的时候,可以直接两个进行串行执行。

临界资源:互斥执行

临界区

每一个核都有它自己的临界区。

讨论:

 

自选锁

旋转锁(Spin locks)

优先级反转:

信号量:用于进程或者线程的同步。

消息邮箱(只能放一条消息)、消息队列(可以放多条消息)进行通信。

操作系统层面是粗粒度并行,大数据层面是细粒度并行。

参考链接:https://blog.csdn.net/qq_28133013/article/details/105286333

雪儿言
原文地址:https://www.cnblogs.com/weixq351/p/14594050.html