执行流:有开始有结束总体顺序执行的一段代码 又称上下文
应用编程:任务上下文 内核编程:
1 . 任务上下文:五状态 可阻塞
a. 应用进程或线程运行在用户空间
b. 应用进程或线程运行在内核空间(通过调用syscall来间接使用内核空间)
c. 内核线程始终在内核空间
2 . 异常上下文:不可阻塞 中断上下文
竞态:多任务并行执行时,如果在一个时刻同时操作同一个资源,会引起资源的错乱,这种错乱情形被称为竞态
共享资源:可能会被多个任务同时使用的资源
临界区:操作共享资源的代码段
为了解决竞态,需要提供一种控制机制,来避免在同一时刻使用共享资源,这种机制被称为并发控制机制
并发控制机制分类:
1 . 原子操作类
2 . 忙等待类
3 . 阻塞类
通用并发控制机制的一般使用套路: