关于异步编程, JDK提供了Future接口, 但是此接口存在以下问题 :
A线程发起异步请求, A线程调用get()方法会被阻塞, 虽然提供了超时的get(timeout)但也无法满足要求....针对异步请求调用返回成功或异常或被取消三种情况都认为是完成, 不能细化这三种情况....于是Netty提供了自己的Future接口
我们来看下Netty是如何实现异步编程
我们先看下简单的测试用例代码
服务端部分代码如下
serverBootstrap.group(bossGroup, workerGroup...根据目前的代码结构, 执行channelActive方法内代码的线程是IO线程, 如果读过我之前的文章的小伙伴, 应该知道我说的这个IO线程是什么意思....());
}
});
我们只是改变了一个地方channelPipeline.addLast(businessGroup, new MyInHandler())
再来测试一次