同步,异步,多线程和事件总结

什么是IO操作?

I/O操作不仅指平常我们所知道的直接的文件、网络的读写、数据库操作还包括 Web Service、HttpRequest以及.Net Remoting等跨进程的调用。

IO分类:

  • 同步阻塞式IO: 一个线程,等待IO结果返回再执行之后的语句。
  • 同步非阻塞式IO: 一个线程,不用等待IO结果返回,可以执行之后的语句,用轮询方式检查IO操作。
  • 多线程阻塞式IO: 多个线程处理多个IO的操作,对于每个IO来说相当于是阻塞的。
  • 异步非阻塞式IO: 一个线程,不用等待IO结果返回,可以执行之后的语句,用事件回调的方式,IO操作完成后通知操作系统处理。

多线程和异步的适用范围:

  • 多线程适用范围则是那种需要长时间CPU运算的场合,例如耗时较长的算法执行。
  • 异步适用于多I/O操作
原文地址:https://www.cnblogs.com/mjjackey/p/14421258.html