Ho un processo che delega le attività asynch a un pool di thread. Devo assicurarmi che determinati compiti siano eseguiti in ordine. Così, per esempioControllo dell'ordine di esecuzione delle attività con ExecutorService
Compiti arrivano in ordine
Compiti A1, B1, C1, D1, E1, A2, A3, B2, f1
Le attività possono essere eseguite in qualsiasi ordine, tranne dove c'è una dipendenza naturale, quindi a1, a2, a3 devono essere elaborati in questo ordine allocando allo stesso thread o bloccandoli fino a quando non so che il precedente # è stato completato.
Attualmente non utilizza il pacchetto Java Concurrency, ma sto considerando di passare a prendere in considerazione la gestione dei thread.
Qualcuno ha una soluzione o suggerimenti di come raggiungere questo obiettivo
Non penso che questo funzionerà con un pool di thread fisso, come i fili potrebbero tutti blocco 'f1.get()' in una sola volta ed essere un punto morto. – finnw
Accordare le dimensioni del pool in modo appropriato. – cletus
Oppure utilizzare un pool di thread memorizzato nella cache. – finnw