Advertisement
sergAccount

Untitled

Jan 30th, 2021
724
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.65 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package com.mycompany.app5;
  7.  
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. import java.util.concurrent.Callable;
  11. import java.util.concurrent.ExecutorService;
  12. import java.util.concurrent.Executors;
  13. import java.util.concurrent.Future;
  14.  
  15. /**
  16.  *
  17.  * @author Admin
  18.  */
  19. public class Main3 {
  20.  
  21.     public static void main(String[] args) {
  22.  
  23.         try {
  24.             ExecutorService executor = Executors.newFixedThreadPool(5);
  25.             // ...
  26.             Callable<String> c1 = () -> {
  27.                 System.out.println("Task c1!");
  28.                 return "res1";
  29.             };
  30.             Callable<String> c2 = () -> {
  31.                 System.out.println("Task c2!");
  32.                 return "res2";
  33.             };
  34.             // Запускаем задачи на выполнение в асинк режиме и ждем результата выполнения всех задач
  35.             List<Callable<String>> list = new ArrayList();
  36.             list.add(c1);
  37.             list.add(c2);
  38.             // invokeAll - запускаем все задачи на выполение и ждем завершения всех задач  
  39.             List<Future<String>> results = executor.invokeAll(list);
  40.             for(Future<String> f: results){
  41.                 String res1 = f.get();
  42.                 System.out.println("Future.res=" + res1);
  43.             }
  44.         } catch (Exception ex) {
  45.             ex.printStackTrace();
  46.         }
  47.        
  48.     }
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement