nio的笔记

 

select.selector没有时间时候会阻塞,因此如果register在其后可能会死锁,因为监听时间绑定不上,可以使用wakeup。

wakeup比较特殊,无论放置在哪儿都能解决一次阻塞。

多路复用一个单线程配合selector。

Netty客户端也是多线程,发送线程并不是主线程,要注意,idea debug调试会停止所有线程,需要设置。

connect是异步的 非阻塞(主线程调用connect,然后由nio实现)。所以要加sync或者addlistener、close也是异步的。

同步是亲历亲为,自己提出自己干。异步是交给别人干,别人干完再通知自己。

Netty主要是异步。

Future和promise异步.

eventloop也可以完成普通任务。

ctx不触发outbound,ctx是从当前位置向前找。

出栈处理器是从tail倒着找。

bytebuf可以动态扩容,不用切换模式。

谁最后拿到bytebuf谁释放。

使用切片顺便就要retain防止源数据被释放吗,使用过后自己释放。

addcomponet默认write不自增,应该再传一个。

客户端断开服务器会接收到-1

解决粘包半包,短链接。

写入数据时候,加引号才是字符串

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值