如何在java编程中提供延迟?
我想用一个特定的时间一个接一个地画一些矩形。如何在java编程中提供延迟?,java,multithreading,Java,Multithreading,我想用一个特定的时间一个接一个地画一些矩形。 我使用thread.sleep()方法,但它直接停止线程的工作,而不是继续。请在工作线程上使用。指定睡眠的毫秒数: Thread.sleep(2000); // two seconds 请注意,您需要处理中断异常您需要将睡眠放在另一个线程中。如果将睡眠放在GUI线程中,GUI将冻结 编辑:我的坏消息,将把它作为旁注保留在这里。查看。这些可以运行一个固定的时间。在每个执行器单元内,您可以绘制一个矩形。(在上)API文档顶部有一个有用的示例您可以使用T
我使用thread.sleep()方法,但它直接停止线程的工作,而不是继续。请在工作线程上使用。指定睡眠的毫秒数:
Thread.sleep(2000); // two seconds
请注意,您需要处理中断异常您需要将睡眠放在另一个线程中。如果将睡眠放在GUI线程中,GUI将冻结
编辑:我的坏消息,将把它作为旁注保留在这里。查看。这些可以运行一个固定的时间。在每个执行器单元内,您可以绘制一个矩形。(在上)API文档顶部有一个有用的示例您可以使用
Timer
和TimeTask
类
查看此图。您应该在单独的
线程中实例化每个绘图。为睡眠的每个循环创建单独的线程
这样,就可以将循环
的线程与绘图
的线程分开。因此,消除了冻结
主要是:
try {
while (true) {
Thread t = new Thread(new RunTest());
t.start();
}
} catch (InterruptedException iex) {}
这将为您的绘图创建无限多个线程。只需修改这个循环
请参见此处。注意,这是它将休眠的最小值,因为这是真正的解决方案<代码>线程。睡眠(…)
只是在提供的时间内停止线程的执行。使用Timer和TimerTask,您可以计划线程的执行。您是在Swing中执行此操作的吗?您能提供更多上下文吗?你到底是怎么画矩形的?一些示例代码?
try {
while (true) {
Thread t = new Thread(new RunTest());
t.start();
}
} catch (InterruptedException iex) {}