concurrencyIniziare con la concorrenza


Osservazioni

Questa sezione fornisce una panoramica di cos'è la concorrenza e del perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare eventuali soggetti di grandi dimensioni all'interno della concorrenza e collegarsi agli argomenti correlati. Poiché la Documentazione per la concorrenza è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Esempio di esecuzione simultanea in Java

import java.util.stream.IntStream;

public class Concurrent {
    public static void printAndWait(String s) {
        System.out.println(s);
        try {
            Thread.sleep(1000);
        } catch (Exception e) {}
    }
    
    public static void main(String[] args) {
        Thread myThread = new Thread() {
            public void run() {
                IntStream.range(1,32)
                .forEach(x -> printAndWait(""+x));
            }
         };
         myThread.start();
         IntStream.range('a', 'z').forEach(x -> printAndWait(""+(char)x));
     }
}
 

Questo produrrà un output di qualcosa di simile a

a
1
b
2
c
3
 

e così via, anche se i risultati possono variare. Questo perché il codice in myThread viene eseguito simultaneamente, in un thread diverso, come il flusso principale. Cioè, l'intervallo 1-32 viene gestito da un thread e l'intervallo az viene gestito da un altro.

Poiché non c'è sincronizzazione tra i thread, non vi è alcuna garanzia che uno possa essere eseguito per primo o addirittura che produrranno un risultato perfettamente intrecciato.

Installazione o configurazione

Istruzioni dettagliate su come impostare o installare la concorrenza.