当前位置: 技术问答>java相关
如何实现每30秒就执行一段程序?
来源: 互联网 发布时间:2017-04-08
本文导语: 假设我有一方法: public void a() { System.out.println("testing"); } 我有多少种方法可以让它每隔30秒就执行一次?永不停止! 请重点说明如何利用线程来实现,谢谢!最好有代码. | 用线程 public void a()...
假设我有一方法:
public void a()
{
System.out.println("testing");
}
我有多少种方法可以让它每隔30秒就执行一次?永不停止!
请重点说明如何利用线程来实现,谢谢!最好有代码.
public void a()
{
System.out.println("testing");
}
我有多少种方法可以让它每隔30秒就执行一次?永不停止!
请重点说明如何利用线程来实现,谢谢!最好有代码.
|
用线程
public void a() throws Exception
{
while(true) {
System.out.println("testing");
Thread.sleep(30000);
}
}
public void a() throws Exception
{
while(true) {
System.out.println("testing");
Thread.sleep(30000);
}
}
|
用线程:
import java.io.*;
class AThread extends Thread {
private boolean stop = false;
public void terminate() {
stop = true;
}
public AThread() {
this.start();
}
public void run() {
while (!stop) {
try {
sleep(30 * 1000);
} catch (InterruptedException e) {
System.err.println("Interrupted");
}
System.out.println("testing");
}
}
}
public class Test {
public static void main(String[] args) throws IOException {
AThread a = new AThread();
System.out.println("Press enter");
System.in.read();
a.terminate();
}
}
不用线程:
用java.util.Timer
import java.io.*;
class AThread extends Thread {
private boolean stop = false;
public void terminate() {
stop = true;
}
public AThread() {
this.start();
}
public void run() {
while (!stop) {
try {
sleep(30 * 1000);
} catch (InterruptedException e) {
System.err.println("Interrupted");
}
System.out.println("testing");
}
}
}
public class Test {
public static void main(String[] args) throws IOException {
AThread a = new AThread();
System.out.println("Press enter");
System.in.read();
a.terminate();
}
}
不用线程:
用java.util.Timer
|
用timer
|
觉得beyond_xiruo(希偌)的方法正规!标准计时器的使用。
线程睡30秒不是准确时间.
线程睡30秒不是准确时间.