首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

三种i/o方式:异步模式与阻塞模式的组合

2013-12-10 
三种i/o模式:异步模式与阻塞模式的组合阻塞且同步: read()方法要等到读到数据了才返回,如果没数据就会一直

三种i/o模式:异步模式与阻塞模式的组合
阻塞且同步: read()方法要等到读到数据了才返回,如果没数据就会一直等
非阻塞且同步: read()方法如果发现当前没数据,就会返回; 调用者可以去做别的事情。然后过段时间再读(轮询)
非阻塞且异步:read()方法如果发现当前没数据,会返回; 调用者可以去做别的事情,也不用再轮询,等操作系统把数据读好了,会通过回调方式把数据交给调用者。
阻塞并异步: 没有这样的组合,这种组合也没有意义

归纳一下:
  阻塞/非阻塞:读不到数据方法就不退出,就是阻塞
  同步/异步:   读不到数据需要主动重试,就是同步; 如果数据好了惊醒你,就是异步。

可以看出,”非阻塞且异步“是性能最好的模式,它避免无谓的等待,节省线程数;避免无效读,提高线程的工作效能。


参考材料:http://www.artima.com/articles/io_design_patterns.html

热点排行