bugfix: use one thread to handle timer