Je suis assez naïf en ce qui concerne le monde du Java Threading et de la concurrence. J'essaie actuellement d'apprendre. J'ai fait un exemple simple pour essayer de comprendre comment fonctionne la concurrence.Tutoriel Java Threading Type Question
Voici mon code:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadedService {
private ExecutorService exec;
/**
* @param delegate
* @param poolSize
*/
public ThreadedService(int poolSize) {
if (poolSize < 1) {
this.exec = Executors.newCachedThreadPool();
} else {
this.exec = Executors.newFixedThreadPool(poolSize);
}
}
public void add(final String str) {
exec.execute(new Runnable() {
public void run() {
System.out.println(str);
}
});
}
public static void main(String args[]) {
ThreadedService t = new ThreadedService(25);
for (int i = 0; i < 100; i++) {
t.add("ADD: " + i);
}
}
}
Que dois-je faire pour rendre l'impression de code les numéros 0-99 dans un ordre séquentiel?
Ce n'est pas le point de l'exercice .. L'exemple que j'ai fourni n'est pas quelque chose que je vais vraiment utiliser .. Je veux mieux comprendre le filetage et la synchronisation. – systemoutprintln