架构师手册
在实践中,最常用于实现控制流的手段有3种。
进程(Process
)是重量级控制流,即是处理机资源的分配单元,又有其他计算机资源的分配单位。
线程(Thread
)是轻量级控制流,仅仅是处理机资源的分配单位。一个进程内可以包含多个线程,后者共享前者的资源:但处理机资源例外,线程是独立IDE处理机资源的分配单位。
实际上,中断服务程序(Interupt Service Routine, ISR
)也是常见的控制流实现机制。当没有OS
的支持却要实现并发时,它非常必要。
例如,下图所示的多条控制流设计用到了线程,以及中断服务程序的技术(背景为设备调试系统):
MFC
的主窗口线程。无论是用户交互,还是串口的数据到达,均采用异步事件的方式处理,杜绝了任何“忙等待”无谓的耗时,也缩短了系统响应时间。RS232
中断来激发相应的处理逻辑,达到轮询和收发数据的目的。