Skip to content

Latest commit

 

History

History
21 lines (13 loc) · 1.59 KB

14.6.md

File metadata and controls

21 lines (13 loc) · 1.59 KB

14.6. 实现控制流的3种常用手段

在实践中,最常用于实现控制流的手段有3种。

  • 进程
  • 线程
  • 中断服务程序

进程(Process)是重量级控制流,即是处理机资源的分配单元,又有其他计算机资源的分配单位。

线程(Thread)是轻量级控制流,仅仅是处理机资源的分配单位。一个进程内可以包含多个线程,后者共享前者的资源:但处理机资源例外,线程是独立IDE处理机资源的分配单位。

实际上,中断服务程序(Interupt Service Routine, ISR)也是常见的控制流实现机制。当没有OS的支持却要实现并发时,它非常必要。

例如,下图所示的多条控制流设计用到了线程,以及中断服务程序的技术(背景为设备调试系统):

设备调试系统:包含线程、中断服务程序等控制流技术

  • 应用层中的线程代表主程序的运行,它直接利用了MFC的主窗口线程。无论是用户交互,还是串口的数据到达,均采用异步事件的方式处理,杜绝了任何“忙等待”无谓的耗时,也缩短了系统响应时间。
  • 协议层有独立的线程控制着“上上下下”的数据,并设置了数据缓冲区,使数据的接受和数据的处理相对独立,从而使数据接收不因暂时的处理忙碌而停滞,增加了系统吞吐量。
  • 硬件控制层的设计中,分别通过时钟中断和RS232中断来激发相应的处理逻辑,达到轮询和收发数据的目的。