异步编程和多线程的关系

引用自“https://zhuanlan.zhihu.com/p/570792890中bluecyan的留言

异步编程,它允许我们多个任务(Task)可以同时执行。多线程技术就是CPU利用多个线程来并发地运行多段逻辑。

任务是逻辑层面的,线程是操作系统层面的,由线程ID标识,任务比线程抽象层级更高。异步任务可由线程实现,也可由其他方式实现,比如中断——中断处理函数注册时并不会同步执行,而要等到接收到中断信号时,CPU将控制流跳转到执行中断处理函数,处理完毕后又跳转回中断点继续执行,整个处理都在一个线程里:实际上,异步处理中断本没有线程/进程概念,不支持多进程的操作系统也有中断操作。又比如,硬件有DMA功能的,在调用DMA传输数据的时候,CPU是不需要执行处理的,只需要发起传输和等待传输结束即可,这是硬件层面的异步。

 
 
posted @ 2023-08-09 11:24  mshentai  阅读(38)  评论(0编辑  收藏  举报