所以我正在学习Java,在这里我有点困惑... 因此,在学习线程时,我了解到有必要扩展Thread类或实现Runnable类。 并且在执行此程序时,无需执行上述任何过程即可使用Thread.sleep()。
链接: http://www.abihitechsolutions.com/applets-mini-project-in-java-free-source-code/
有人可以告诉我发生了什么事吗?
答案 0 :(得分:1)
实际上,通过使用Thread.sleep(X)您正在暂停执行时间X。
这适合将请求发送到服务器或数据库。没有人希望一次向数据库或服务器发送巨大的请求。
少量制作始终是合理的。您可以划分请求并通过等待指定的持续时间来发送它们。
这是Thread.sleep()的重要用法之一
有一种非常合适的方法来处理线程暂停,即等待/通知。我建议使用它。 您可以从那里检查; https://docs.oracle.com/javase/tutorial/essential/concurrency/guardmeth.html
答案 1 :(得分:0)
io.Copy。 Thread.sleep()
是一种static
方法,因此您可以从任何地方调用它。
class RunMe implements Runnable {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("Hello");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
请记住,所有Java代码都在线程中运行,因此可以在任何地方调用Thread.sleep()
。
答案 2 :(得分:-1)
之所以可以不实际创建线程就使用Thread.sleep的原因是,主程序也在线程上运行。您只是在主线程上调用sleep。当您调用Thread.sleep时,java将为您找出它实际在哪个线程上运行。