Java并发编程:线程池与定时器使用示例
在Java中,线程池和定时器是两种常用的并发工具。下面分别给出这两种工具的使用示例。
线程池
线程池是一个预创建一定数量线程的容器,当有新任务需要执行时,会从线程池中取出一个空闲线程来执行任务。
以下是一个简单的Java线程池例子:
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个固定大小的线程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交任务到线程池,会获取一个空闲线程来执行任务
for (int i = 0; i < 10; i++) {
Runnable task = new Task("Task " + i);
executor.execute(task);
}
// 关闭线程池,释放资源
executor.shutdown();
}
}
class Task implements Runnable {
private String name;
public Task(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println("Task " + name + " started");
// 这里可以放置执行任务的代码
System.out.println("Task " + name + " completed successfully.");
}
}
定时器
定时器是Java中的一种工具,它允许你按照预设的时间间隔执行任务。
以下是一个简单的Java定时器例子:
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
// 创建一个Timer实例
Timer timer = new Timer();
// 定义一个定时任务,任务是打印一条消息
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("Scheduled message at " + new Date());
}
};
// 设置定时器的延迟时间
timer.schedule(task, 1000); // 延迟1秒执行
// 关闭定时器,释放资源
timer.cancel();
}
}
以上两种工具在Java并发编程中都有广泛的应用,根据实际需求选择合适的工具使用。
还没有评论,来说两句吧...