工作遇到一个问题:用netty实现服务和设备的交互,服务发送了一组指令,需要再等待时间内获取结果,如果结果提前全部返回,就进一步处理,如果等待时间内没有全部返回,就视为失败处理. 这个场景我遇到的困难主要就是将netty的异步处理转为同步, 目前我的做法是在写出到channel之后,使用CountDownLatch(1)等待响应,latch.wait(等待时长)来做同步等待, 所有的请求有一个唯一的uuid,有一个map存储uuid和latch,nettyserver接收到消息之后,找出对应的请