Have you ever used java.util.Timer in your application, maybe to process a timeout for sessions? You may have encountered performance limitation when using it. With the TimerWheel data structure, you can perform this type of task more efficiently than you would with java.util.Timer provided by JDK. However, there are some limitations which the author covers in this article. He also explains how he used TimerWheel in multiple projects in our company including HTML5 games.