concurrencyAan de slag met concurrency


Opmerkingen

Deze sectie geeft een overzicht van wat gelijktijdigheid is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen concurrency vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor gelijktijdigheid nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Voorbeeld van gelijktijdige uitvoering 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));
     }
}
 

Dit zal een uitvoer produceren van iets dat lijkt op

a
1
b
2
c
3
 

enzovoort, hoewel de resultaten kunnen variëren. Dit komt omdat de code in myThread tegelijkertijd, in een andere thread, als hoofdstroom wordt uitgevoerd. Dat wil zeggen, het bereik 1-32 wordt behandeld door één draad en het bereik az wordt behandeld door een andere.

Aangezien er geen synchronisatie tussen de threads is, is er geen garantie welke men eerst zal uitvoeren of zelfs dat zij een resultaat zullen produceren dat perfect met elkaar is verweven.

Installatie of instellingen

Gedetailleerde instructies voor het instellen of installeren van concurrency.