Java Academy · Lektion

Executors och Futures

Lär er hantera trådar med Executors och hantera resultat med Futures.

Lektion 1 av 28 steg

Executors och Futures är en gratis lektion i Java Academy på CoddyKit. Detta är lektion 1 av 2. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Java Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Java Academy innehåller totalt 2 lektioner.

Introduktion

Executors förenklar trådhantering. Futures ger dig resultat från uppgifter som körs asynkront.

ExecutorService

ExecutorService hanterar en trådpool, så att du inte behöver skapa trådar manuellt varje gång.

Kod: skicka Runnable

Den här koden skickar en Runnable till en ExecutorService med två trådar.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) {
    ExecutorService executor = Executors.newFixedThreadPool(2);
    executor.submit(() -> System.out.println("Task executed"));
    executor.shutdown();
  }
}

Futures

Future<T> representerar resultatet av en asynkron uppgift. Du kan anropa get() för att vänta på resultatet.

Kod: Callable + Future

Den här koden skickar in en Callable som returnerar ett Integer. get() blockerar tills resultatet är klart.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) throws Exception {
    ExecutorService executor = Executors.newSingleThreadExecutor();
    Future<Integer> f = executor.submit(() -> 2 + 3);
    System.out.println("Result: " + f.get());
    executor.shutdown();
  }
}

Tidsgräns + shutdown

Du kan ange get(timeout) för att undvika att vänta för evigt. Anropa alltid shutdown() på ExecutorService.

Kontroll av Futures

Snabb kontroll: Vad representerar en Future i Java?

Sammanfattning

Sammanfattning: Executors hanterar trådar. Futures representerar resultat. Använd submit() för uppgifter, get() för resultat och shutdown() när du är klar.

Gratis att börja

Lär dig Java med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
104
Lektioner
374

Vanliga frågor

Är lektionen ”Executors och Futures” gratis?

Ja – hela texten till ”Executors och Futures” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Java Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Java Academy innehåller totalt 2 lektioner.

Vad lär jag mig i ”Executors och Futures”?

Lär er hantera trådar med Executors och hantera resultat med Futures. Ni övar på Java Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Java Academy?

Du behöver inga förkunskaper. Utbildningen i Java Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 2.

Hur lång tid tar lektionen ”Executors och Futures”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Java Academy-lektionen?

Ja. Varje Java Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Executors och Futures
  2. Uppgifter och livscykler
← Tillbaka till Java Academy