Callable не печатает случайный как поток, но печатает упорядоченный как обычный класс - PullRequest
0 голосов
/ 21 февраля 2019

Так что мой код ниже, а мой вывод 2,4,6,8,10, но должен быть вместо этого случайным, любая помощь?Спасибо за ваше время.

public class MyCallable implements Callable<Integer> {
  private int i;

  public MyCallable (int i) {
    this.i=i;}

  public Integer call() throws Exception {
    System.out.println("Int iniziale: "+i);
    this.i++;return i;}

  public static void main (String args[]) throws Exception {
    ExecutorService executor = Executors.newFixedThreadPool(1);

    List<Callable<Integer>> list = new LinkedList<Callable<Integer>>();
    MyCallable callOne= new MyCallable(1);
    MyCallable callTwo= new MyCallable(3);
    MyCallable callThree= new MyCallable(5);
    MyCallable callFour= new MyCallable(7);
    MyCallable callFive= new MyCallable(9);
    list.add(callOne);
    list.add(callTwo);
    list.add(callThree);
    list.add(callFour);
    list.add(callFive);


    System.out.println("Inizializzo l' executor.");
    try {
        List<Future<Integer>> futurelli = executor.invokeAll(list);
        for(Future<Integer> puffo:futurelli) {
            System.out.println(puffo.get());}
    } catch (Exception e) {
        System.out.println("Array in input ad futurelli non riempito");
        e.printStackTrace();
    }
  executor.shutdown();
  }
}
...