import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorServiceTest
{
public static void main(String[] args) throws InterruptedException,ExecutionException
{
//*创建线程池
ScheduledExecutorService service=Executors.newScheduledThreadPool(2);
//*创建要执行的线程代码
Runnable task=new Runnable()
{
public void run()
{
System.out.println("Taskrepeating.");
}
};
//*执行定时线程操作。 task--线程任务 1--启动后首次执行时间 1---之后每次间隔时间 TimeUnit.SECONDS ---时间单位
final ScheduledFuture future1=service.scheduleAtFixedRate(task,1,1,TimeUnit.SECONDS);
//*
ScheduledFuture future2=service.schedule(new Callable()
{
public String call()
{
future1.cancel(true);
return "taskcancelled!";
}
},10,TimeUnit.SECONDS);
System.out.println(future2.get());
//*5
service.shutdown();
}
}
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorServiceTest
{
public static void main(String[] args) throws InterruptedException,ExecutionException
{
//*创建线程池
ScheduledExecutorService service=Executors.newScheduledThreadPool(2);
//*创建要执行的线程代码
Runnable task=new Runnable()
{
public void run()
{
System.out.println("Taskrepeating.");
}
};
//*执行定时线程操作。 task--线程任务 1--启动后首次执行时间 1---之后每次间隔时间 TimeUnit.SECONDS ---时间单位
final ScheduledFuture future1=service.scheduleAtFixedRate(task,1,1,TimeUnit.SECONDS);
//*
ScheduledFuture future2=service.schedule(new Callable()
{
public String call()
{
future1.cancel(true);
return "taskcancelled!";
}
},10,TimeUnit.SECONDS);
System.out.println(future2.get());
//*5
service.shutdown();
}
}