详解Java并发工具类Future、Task的应用实例

原创 淩亂°似流年 2025-03-09 20:54 66阅读 0赞

Java的并发工具类主要包括Future和Task。它们主要用于处理线程间通信和任务管理。

  1. Future:

Future是Task执行结果的封装,它代表一个异步操作的结果,但这个结果还没有被获取。

应用实例:

  1. // 创建一个Runnable任务
  2. Runnable r = () -> {
  3. // 这里是一个耗时的操作
  4. try {
  5. Thread.sleep(500); // 模拟耗时
  6. } catch (InterruptedException e) {
  7. e.printStackTrace();
  8. }
  9. };
  10. // 使用Future包装任务
  11. Future<Void> future = Executors.newSingleThreadExecutor().submit(r);
  12. // 等待并获取结果
  13. try {
  14. future.get(); // 等待5秒,如果任务未完成,则阻塞
  15. } catch (TimeoutException | ExecutionException e) {
  16. e.printStackTrace();
  17. }
  1. Task:

Task是Runnable接口的实现,它主要用于定义Java线程应该执行的操作。

应用实例:

  1. // 创建一个Task
  2. Task<String> task = () -> {
  3. // 这里是一个耗时的操作,但任务的主体还是操作
  4. try {
  5. Thread.sleep(500); // 模拟耗时
  6. } catch (InterruptedException e) {
  7. e.printStackTrace();
  8. }
  9. // 返回一个字符串结果
  10. return "Task completed with result: " + System.currentTimeMillis();
  11. };
  12. // 启动任务执行
  13. Thread thread = new Thread(task);
  14. thread.start(); // 启动任务线程执行

总结:Future和Task是Java并发工具中用于异步操作管理和结果获取的两个重要类。

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

发表评论

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

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

相关阅读