//做了一个Timer的demo,但是发现cpu的利用率为100%,
//发现问题出现在while (true);能又更好的解决办法吗?保证能定时扫描,又能降低cpu利用率。
//谢谢!
import java.util.*;
import java.lang.*;public class TimerTest
{
public static void main(String args[])
{
Timer timer = null;
try {
timer = new Timer(true);
timer.schedule(new MyTimerTask(), 0 , 10000);
System.out.println("while begin");
while (true);
}
finally {
System.out.println("timer cancel begin");
timer.cancel();
}
}
}class MyTimerTask extends TimerTask {
public void run() {
System.out.println("Scaner File Begin :" + Calendar.getInstance().getTime().toString());
Scaner();
}
public void Scaner()
{
System.out.println("test begin");
}
}
//发现问题出现在while (true);能又更好的解决办法吗?保证能定时扫描,又能降低cpu利用率。
//谢谢!
import java.util.*;
import java.lang.*;public class TimerTest
{
public static void main(String args[])
{
Timer timer = null;
try {
timer = new Timer(true);
timer.schedule(new MyTimerTask(), 0 , 10000);
System.out.println("while begin");
while (true);
}
finally {
System.out.println("timer cancel begin");
timer.cancel();
}
}
}class MyTimerTask extends TimerTask {
public void run() {
System.out.println("Scaner File Begin :" + Calendar.getInstance().getTime().toString());
Scaner();
}
public void Scaner()
{
System.out.println("test begin");
}
}
while (true)
{
Thread.sleep(1000000);
}
}catch(Exception e)
{
System.err.println(e.getMessage());
}