sniperHW/server-comumicate — pull request #1 by archyyu (2014-04-23 09:58:20+00:00)
Title: java定时器

这套java服务器里面用的是 TimerEvent,但是我万万没有想到，java里面用TimerEvent开启一个定时器，就开启了一个线程，我在做设计的时候，遵循了之前C++工程的设计，几乎每个玩家身上都有2-3个定时器，每个地图场景上面也有一个定时器，在加上一些开发者的使用不当，在玩家下线的时候，没有能将定时器清理掉，所以导致在游戏在开服后，十几个小时候之后就会因为内存不足以开启新线程而死掉被迫重启。刚开始遇到这个问题的时候，我还以为是内存泄露的问题导致，也是在无意间发现的这个问题，算是给我这个半路出家的java程序一个教训吧！

解决方案:

在每个玩家身上放一个心跳函数，保持心跳函数一秒钟运行一次！