本次发版要点
为氦氪云提供网络接入层服务时(t-io接到的首个商业服务),对方提出了一些监控需求,所以t-io及时跟进发了此版本
最新消息
贝密游戏已经全面从netty转向t-io,重要的是口碑极好,其作者也是“吃嘛嘛香”、“系统出牌的速度能感觉加快了”、“以后不用在通信层花精力了”,有图有真相哈(以下截图为2483人的大群聊天记录哦,原谅本人也用这么low的方式宣传自家的产品)


本版本修改点(注意有几个API变动)
1、org.tio.core.intf.AioListener
增加
onAfterHandled()
onAfterReceivedBytes()
去掉
onAfterClose()
修改
onAfterReceived()改名为onAfterDecoded()
2、org.tio.core.stat.GroupStat
修改
getHandledPacket()改名为getHandledPackets()
3、org.tio.core.GroupContext
增加
setIpStatListener(IpStatListener)
4、各监控统计数据增加handledPacketCosts字段,用于监控和统计消息包处理时间
5、其它各细节修改不一一列举
最新POM
<dependency> <groupId>org.t-io</groupId> <artifactId>tio-core</artifactId> <version>2.2.0.v20180405-RELEASE</version> </dependency>
引用来自“dwing0”的评论
估计是在windows服务器跑的, AIO确实有优势.而Netty只关注linux平台的NIO/Epoll接口的优化.
引用来自“talent-tan”的评论
影响速度的不止网络,还有线程调度,线程才是t-io的与众不同之处引用来自“dwing0”的评论
线程调度是你自己实现的? JVM的线程难道不就是操作系统的线程吗, 是系统内核调度的.何况AIO的线程池都是被JVM封装的, 在windows上更是通过IOCP被系统内核调度的线程池, 这些都跟t-io有什么关系?
反而是Netty的NIO需要自己创建线程池来处理IO.
可能你只是想说t-io里的io线程->解码线程->处理线程这些流水线传递吧, 这些未必能提高效率, 而且这些都是非常上层的功能, Netty不管这些, 完全可以在Netty之上自己做这些流水线处理.
引用来自“talent-tan”的评论
这东西不太容易说清楚,t-io对线程处理有几个关键的类,可以看看,代码也不多,也没啥黑科技,但作用很大org.tio.utils.thread.pool.SynThreadPoolExecutor
org.tio.utils.thread.pool.AbstractSynRunnable
org.tio.utils.thread.pool.AbstractQueueRunnable<T>
org.tio.core.task.HandlerRunnable
引用来自“dwing0”的评论
确实没什么特别的, 就是简单用ConcurrentLinkedQueue作为队列的线程池并发处理引用来自“dwing0”的评论
估计是在windows服务器跑的, AIO确实有优势.而Netty只关注linux平台的NIO/Epoll接口的优化.
引用来自“talent-tan”的评论
影响速度的不止网络,还有线程调度,线程才是t-io的与众不同之处引用来自“dwing0”的评论
线程调度是你自己实现的? JVM的线程难道不就是操作系统的线程吗, 是系统内核调度的.何况AIO的线程池都是被JVM封装的, 在windows上更是通过IOCP被系统内核调度的线程池, 这些都跟t-io有什么关系?
反而是Netty的NIO需要自己创建线程池来处理IO.
可能你只是想说t-io里的io线程->解码线程->处理线程这些流水线传递吧, 这些未必能提高效率, 而且这些都是非常上层的功能, Netty不管这些, 完全可以在Netty之上自己做这些流水线处理.
引用来自“talent-tan”的评论
这东西不太容易说清楚,t-io对线程处理有几个关键的类,可以看看,代码也不多,也没啥黑科技,但作用很大org.tio.utils.thread.pool.SynThreadPoolExecutor
org.tio.utils.thread.pool.AbstractSynRunnable
org.tio.utils.thread.pool.AbstractQueueRunnable<T>
org.tio.core.task.HandlerRunnable
引用来自“dwing0”的评论
估计是在windows服务器跑的, AIO确实有优势.而Netty只关注linux平台的NIO/Epoll接口的优化.
引用来自“orpherus”的评论
epoll的native io很不错引用来自“dwing0”的评论
估计是在windows服务器跑的, AIO确实有优势.而Netty只关注linux平台的NIO/Epoll接口的优化.
引用来自“talent-tan”的评论
影响速度的不止网络,还有线程调度,线程才是t-io的与众不同之处何况AIO的线程池都是被JVM封装的, 在windows上更是通过IOCP被系统内核调度的线程池, 这些都跟t-io有什么关系?
反而是Netty的NIO需要自己创建线程池来处理IO.
可能你只是想说t-io里的io线程->解码线程->处理线程这些流水线传递吧, 这些未必能提高效率, 而且这些都是非常上层的功能, Netty不管这些, 完全可以在Netty之上自己做这些流水线处理.
引用来自“MrXionGe”的评论
tio要发展生态圈了引用来自“dwing0”的评论
估计是在windows服务器跑的, AIO确实有优势.而Netty只关注linux平台的NIO/Epoll接口的优化.
引用来自“王浩强”的评论
。。吹得有点过了吧。100ms的提升。是从美国机房搬到北京了吗。引用来自“dwing0”的评论
估计是在windows服务器跑的, AIO确实有优势.而Netty只关注linux平台的NIO/Epoll接口的优化.
引用来自“陳建勳”的评论
可是怎麼可能,人家netty發展了那麼久,就被剛出現的tio給比下去,那開發netty的人情何以堪而Netty只关注linux平台的NIO/Epoll接口的优化.
引用来自“心浪微勃”的评论
都是托吗?引用来自“天蓬小猪”的评论
t-io就是屌,甩掉Netty几条街!!