网络编程为什么能异步来做

1. 网络编程为什么能异步来做

因为网络IO channel支持异步(文件channel是不支持异步IO的);
网络IO channel为什么支持异步
因为操作系统帮我们缓存了从网络上接收到的数据,而且当我们监听网卡事件后,操作
系统可以提醒我们有数据到了(在应用程序发送请求后,应用程序只需要订阅网卡事件就行,然后可以去做
其他事情,这就是异步);
因为缓存的存储一定会有限制,那么就需要一个超时来指定一些策略等踢出“过期”的数据(没有处理的或者其他);

所以两个端交互的异步必须需要两点来保证:
有一个组件可以替我们缓存对端数据;
有一个组件可以通知我们当数据来的时候通知我们(我们得事先订阅他);

2. 延伸

其实,上面所讲的,可以用一个概念来加强理解:事件驱动。关于事件驱动编程领域,有三个概念是必不可少的:事件源(在其上发生事件)、事件、订阅(注册)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值