Java并发编程:线程池与定时器使用示例

原创 青旅半醒 2024-11-24 01:54 32阅读 0赞

在Java中,线程池和定时器是两种常用的并发工具。下面分别给出这两种工具的使用示例。

线程池

线程池是一个预创建一定数量线程的容器,当有新任务需要执行时,会从线程池中取出一个空闲线程来执行任务。

以下是一个简单的Java线程池例子:

  1. import java.util.concurrent.Executors;
  2. public class ThreadPoolExample {
  3. public static void main(String[] args) {
  4. // 创建一个固定大小的线程池
  5. ExecutorService executor = Executors.newFixedThreadPool(5);
  6. // 提交任务到线程池,会获取一个空闲线程来执行任务
  7. for (int i = 0; i < 10; i++) {
  8. Runnable task = new Task("Task " + i);
  9. executor.execute(task);
  10. }
  11. // 关闭线程池,释放资源
  12. executor.shutdown();
  13. }
  14. }
  15. class Task implements Runnable {
  16. private String name;
  17. public Task(String name) {
  18. this.name = name;
  19. }
  20. @Override
  21. public void run() {
  22. System.out.println("Task " + name + " started");
  23. // 这里可以放置执行任务的代码
  24. System.out.println("Task " + name + " completed successfully.");
  25. }
  26. }

定时器

定时器是Java中的一种工具,它允许你按照预设的时间间隔执行任务。

以下是一个简单的Java定时器例子:

  1. import java.util.Timer;
  2. import java.util.TimerTask;
  3. public class TimerExample {
  4. public static void main(String[] args) {
  5. // 创建一个Timer实例
  6. Timer timer = new Timer();
  7. // 定义一个定时任务,任务是打印一条消息
  8. TimerTask task = new TimerTask() {
  9. @Override
  10. public void run() {
  11. System.out.println("Scheduled message at " + new Date());
  12. }
  13. };
  14. // 设置定时器的延迟时间
  15. timer.schedule(task, 1000); // 延迟1秒执行
  16. // 关闭定时器,释放资源
  17. timer.cancel();
  18. }
  19. }

以上两种工具在Java并发编程中都有广泛的应用,根据实际需求选择合适的工具使用。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,32人围观)

还没有评论,来说两句吧...

相关阅读