异步事件的处理机制:上下文与执行流
一、异步事件的处理机制
1、事件队列机制
2、中断机制
二、异常、异步与执行流
1、异常:
异常是切换到新的执行流以后,原来的执行流不再保存。
2、异步:
异步是切换到新的执行流,执行完毕后再切换到原来的执行流。
三、两个核心:
1、上下文:
保存了执行流的上下文(先后顺序);上下文是执行流信息的结构化描述。
可以是异步类型,也可以是线程栈。
2、执行流:
执行逻辑。
四、处理机制与线程
1、线程的事件循环:
新的执行流的上下文作为消息,进入消息的派发队列;
2、中断
原来的执行流上线文由中断栈保存。
执行新的指令流。
执行完毕后切换到原来的中断栈。
五、其它补充
Linux 中有几种栈?各种栈的内存位置?
介绍完栈的工作原理和用途作用后,我们回归到 Linux 内核上来。内核将栈分成四种:
- 进程栈
- 线程栈
- 内核栈
- 中断栈
四、中断栈
进程陷入内核态的时候,需要内核栈来支持内核函数调用。中断也是如此,当系统收到中断事件后,进行中断处理的时候,也需要中断栈来支持函数调用。由于系统中断的时候,系统当然是处于内核态的,所以中断栈是可以和内核栈共享的。但是具体是否共享,这和具体处理架构密切相关。
https://blog.csdn.net/yangkuanqaz85988/article/details/52403726
我思故我在