异步事件的处理机制:上下文与执行流

一、异步事件的处理机制

1、事件队列机制

2、中断机制

二、异常、异步与执行流

1、异常:

异常是切换到新的执行流以后,原来的执行流不再保存。

2、异步:

异步是切换到新的执行流,执行完毕后再切换到原来的执行流。

三、两个核心:

1、上下文:

保存了执行流的上下文(先后顺序);上下文是执行流信息的结构化描述。

2、执行流:

执行逻辑。

四、处理机制与线程

1、线程的事件循环:

新的执行流的上下文作为消息,进入消息的派发队列;

2、中断

原来的执行流上线文由中断栈保存。

执行新的指令流。

执行完毕后切换到原来的中断栈。

五、其它补充

Linux 中有几种栈?各种栈的内存位置?

介绍完栈的工作原理和用途作用后,我们回归到 Linux 内核上来。内核将栈分成四种:

  • 进程栈
  • 线程栈
  • 内核栈
  • 中断栈

四、中断栈

进程陷入内核态的时候,需要内核栈来支持内核函数调用。中断也是如此,当系统收到中断事件后,进行中断处理的时候,也需要中断栈来支持函数调用。由于系统中断的时候,系统当然是处于内核态的,所以中断栈是可以和内核栈共享的。但是具体是否共享,这和具体处理架构密切相关。

https://blog.csdn.net/yangkuanqaz85988/article/details/52403726

猜你喜欢

转载自www.cnblogs.com/feng9exe/p/11726240.html