阻塞与非阻塞、同步与异步的理解

1、使用场景

   1)阻塞与非阻塞的使用场景:I/O、多线程。

   2)同步与异步的使用场景:通信,多线程。   

2、具体理解

    在实际网络编程的环境中,一般是指线程的同步和异步与IO的阻塞与非阻塞,

    与系统底层的同步通信与异步通信无关,

    多线程的阻塞即多线程的同步,多线程的非阻塞即多线程的异步。

3、网络编程IO模型理解

    UNIX网络编程中,将IO模型划分为5种:(1)阻塞IO (2)非阻塞IO (3)信号驱动IO (4)IO复用 (5)异步IO

     按上面逻辑分析:

    1)阻塞IO实际就是同步线程阻塞I/O.

    2)非阻塞IO实际是同步线程非阻塞I/O。 

    3)信号驱动IO实际是同步线程非阻塞I/O。

    4)IO复用实际是同步线程非阻塞I/O。

    5)异步IO实际是异步线程非阻塞I/O。

4、网络编程IO模型比较

   在处理大量并发的网络收发数据时

  1)同步线程阻塞I/O,当前线程只能等收发操作完成才能继续执行

   2)同步非阻塞I/O,当前线程虽然不必等收发操作完成才能继续执行,但是还要参与具体收发过程中。

   3)异步线程非阻塞I/O,在通知收发操作后,线程可以处理其他操作,当本次收发接收后程序可以继续进行处理收发结果。

   4)异步线程阻塞I/O,阻塞IO影响到了线程异步效果。

5、网络编程IO模型效率

  阻塞IO<非阻塞IO<信号驱动IO<IO复用<异步IO


-------------------------------------------------------------------------------------------------------------------------

水之积也不厚,则其负大舟也无力;风之积也不厚,则其负大翼也无力。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值