我如何用Java做定时器?

我正在用Java实现x-modem协议。如果在我收到数据包时出现超时,则必须发送否定确认。我必须启动一个计时器,当时间到了,然后我发送一条消息给发送者请求从开始的文件传输。 但我不知道如何用Java做定时器;我可以看一些示例代码吗?谢谢。     
已邀请:
这里有一些我理解你的问题的示例代码:
final Timer t = new Timer();
t.schedule(new TimerTask() {
        /**
         * {@inheritDoc}
         */
        @Override
        public void run() {
            // Do what you want
        }
    }, delay);

 if (gotResponse) t.cancel();
其中
delay
是您在Timer执行任务之前要等待的毫秒数。     
查看java.util.concurrent包,特别是ScheduledThreadPoolExecutor类。 java.util.Timer的问题在于它安排一个后台线程来处理定时任务,如果任务本身需要一段时间运行,你的任务可以排队(详见此处) 这些都不能提供任何实时保证。 本书非常擅长解释java.util.concurrent包的用法     

要回复问题请先登录注册