时间轮盘TimeWheel
来源:互联网 发布:php上传图片并压缩 编辑:程序博客网 时间:2024/05/21 09:44
在管理网络连接时,经常要对大量的连接进行超时管理,如将超时的连接断开。如果将这些大量的连接放在一个map中,然后用一个线程进行扫描,把超时的连接找到,如果连接很多,则这种做法很难接受的。
目前有个通用的做法,即时间轮盘方式:TimeWheel
设想有个时间钟,每隔一段时间(如100ms)有个滴答,每个滴答处对应一个list,存放了一些定时任务。但时间走到一个滴答处时就触发其对应的任务list。每个任务根据其超时时间放到相应滴答的list中,但一个任务list被滴答查看时,list中的所有任务的超时时间都被更新,并重新放入到时间轮盘中合适的位置。
在netty中有具体的实现代码:HashedWheelTimer.java(org.jboss.netty.util)
- 时间轮盘TimeWheel
- 时间轮盘TimeWheel
- 时间轮定时器-Timewheel
- 轮盘简介
- 约瑟夫轮盘
- 轮盘赌法
- 轮盘抽奖
- js轮盘抽奖
- IOS 抽奖轮盘
- 轮盘赌算法
- 轮盘赌选择
- 轮盘赌算法
- 轮盘抽奖代码
- 轮盘抽奖代码
- 轮盘赌算法-Roulette
- 轮盘赌算法
- 轮盘赌算法
- 俄罗斯轮盘赌
- java中this的用法
- VC++新建工程里面各项的含义
- vc++ 与 android/java 进行socket通信
- nginx+tomcat实现动静分离
- 深入分析 Linux 内核链表 list_entry...
- 时间轮盘TimeWheel
- 在Fedora 15下安装Oracle Java JDK以及对于alternatives的一些感受
- Linux 必学的重要命令 mtools
- 找回Google Reader丢失的笔记(notes)
- 《软件设计精要与模式》 - 书摘精要
- EditPlus常用语法高亮设置
- Android cannot access localhost?
- Android中SQLiteOpenHelper类的onUpgrade方法的作用
- 标准化AIX上的用户的UID和GID编号