Executors och Futures
Lär er hantera trådar med Executors och hantera resultat med Futures.
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.
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
- Executors och Futures
- Uppgifter och livscykler