优化timer的实现