Ciaooooo... allora spiego tutto bene.
Vorrei giocare un po con i thread, vorrei imparare a creare un pool di thread, per esempio 2 che vadano ad eseguire 5 operazioni
visto che i thread sono 2 posso vedere come vanno in coda e come funzionano ecc...
Parte il primo thread ed esegue il metodo Uno(), parte il secondo ed esegue il metodo Due(), cosi che i metodi tre() e quattro() e cinque() rimangano in attesa, il primo thread che si libera li prende in carico e cosi via... i metodi possono benissimo stampare una semplice stringa, quello che è importante è che i thread vadano a processare qualcosa.
Posto un piccolo pezzo di codi che ho iniziato a fare, in questo caso i thread partono, ma non posso fargli controllare qualcosa, ad esempio lanciare un metodo ecc...
package multithreading;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.IntStream;
public class Multithreading {
public static void main(String args[]) {
ExecutorService service = Executors.newFixedThreadPool(2);
IntStream.range(0, 5).forEach(i -> service.submit(new Task(i)));
}
}
final class Task
implements Runnable {
private int taskId;
public Task(int id) {
this.taskId = id;
}
@Override
public void run() {
System.out.println("Task ID : " + this.taskId + " performed by "
+ Thread.currentThread().getName());
}
}