NIO和BIO

来源:互联网 发布:天涯明月刀低配优化 编辑:程序博客网 时间:2024/05/17 23:53

      NIO和BIO对比

      BIO,又叫Blocking IO,依赖于用于阻塞模式的普通套接字:当你在套接字上进行读写或者其他操作的时候,被调用的操作将会一直阻塞调用者,直到操作结束。

      (BIO喊话:告诉你,你们必须在门外等着,等我吃完饭离开饭店,你们才可以进来吃饭,否则杀无赦!)

      BIO(Blocking IO,阻塞IO)和NIO(Non-Blocking IO,非阻塞IO)之间的最大区别在于BIO中,你发送一个请求,然后你将在得到回复之前一直等待。在服务器端,这意味着一个县城可能会涉及到任何进入的连接,以内次你不需要应对多路复用的复杂性。

     (BIO喊话:我们去吃饭从来都是一个人一艘宇宙飞船去太空享受美食,我们不习惯和别人共享一艘飞船!)

      NIO中,必须应对非阻塞系统的同步特性,表示在一些事件发生时你的应用会被调用。在NIO中,调用后无需等待一个结果。即你发送命令后,结果完成就会通知你。

     (NIO喊话:我们没有BIO那么霸道,我们吃饭的时候,你们也可以点菜的,大家自己吃自己的就好。)

     个人理解BIO是同步模式,而NIO是异步模式。

0 0
原创粉丝点击