https://www.cnblogs.com/-900401/p/4015048.html

 

很受益的一篇文章,特别是后面对四种模型的解析。

理解阻塞和非阻塞,同步异步,有一个核心点要搞清楚就是用户发起内核调用的时候,内核处理分两个阶段:一是准备数据,二是把数据拷贝到用户态内存。

 

可以近似把内核处理IO操作和用户态线程执行看成是并行(近似看成并行,而不是并发,好理解一些),所以在非阻塞情况下,内核准备数据期间不会影响用户态线程的执行的。

在进行I/O操作的时候,是将任务交给DMA来处理,请求发出后CPU就不管了,在DMA处理完后通过中断通知CPU处理完成了。I/O操作消耗的cpu时间很少。(https://blog.csdn.net/qq_22660775/article/details/88966832)

相关文章:

  • 2021-06-30
  • 2021-08-19
  • 2022-02-09
  • 2021-10-15
  • 2022-01-05
  • 2021-08-07
猜你喜欢
  • 2022-12-23
  • 2021-07-06
  • 2021-09-20
  • 2021-08-09
  • 2021-07-18
  • 2021-12-24
相关资源
相似解决方案