Isolate.run voor snel uitbesteden
Een functie buiten de main-isolate uitvoeren
Isolate.run voor snel uitbesteden is een gratis Dart Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Dart Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Dart Academy bevat in totaal 4 lessen.
De eenvoudige ingang
Isolates handmatig starten is omslachtig. Isolate.run is de eenvoudigste manier om één zware taak van de hoofd-isolate af te halen. 🚀
Wat het doet
Isolate.run start een nieuwe isolate, voert daar je functie uit, geeft het resultaat terug en sluit de isolate voor je af.
Het geeft een Future terug
Omdat het werk ergens anders gebeurt, geeft Isolate.run je een Future. Je wacht erop met await, net als bij elke andere async-aanroep.
Future<int> sumIt() => Isolate.run(() {
var total = 0;
for (var i = 0; i < 1000000; i++) total += i;
return total;
});Wacht op het resultaat
Roep de functie aan en gebruik await voor het antwoord. De hoofd-isolate blijft vrij om je gebruikersinterface soepel te laten werken terwijl de berekening wordt uitgevoerd.
final result = await Isolate.run(heavyTask);
print(result);Geef een functie op topniveau door
De taak die je uitvoert, moet een functie op topniveau of een statische functie zijn, of een eenvoudige closure. Zo kan die veilig naar de nieuwe isolate worden gestuurd.
Leg zorgvuldig vast
Elke waarde die een closure vastlegt, wordt naar de nieuwe isolate gekopieerd. Houd vastgelegde gegevens klein en vrij van niet-verzendbare zaken zoals sockets.
Geef invoer door
Invoer nodig? Leg die vast in de closure of geef die er apart aan door. Dart kopieert de invoer, zodat de isolate met een eigen versie werkt.
final big = await Isolate.run(() => parseJson(rawText));Haal resultaten op
Alles wat je functie teruggeeft, wordt de waarde van de Future. Het wordt automatisch teruggekopieerd naar de hoofd-isolate.
Fouten borrelen omhoog
Als het werk een fout gooit, wordt de Future afgewezen. Plaats je await in try/catch om fouten precies daar af te handelen waar je de functie hebt aangeroepen.
try {
final r = await Isolate.run(risky);
} catch (e) {
print('failed: $e');
}De kosten van het starten
Elke Isolate.run start een isolate en breekt die daarna weer af. Dat brengt overhead met zich mee, dus het loont voor echt zwaar werk en niet voor kleine taken.
Wanneer het past
Gebruik Isolate.run wanneer je één omvangrijke, zelfstandige taak hebt. Voor voortdurende communicatie in twee richtingen zijn volledige isolates geschikter.
Korte controle
Wat krijg je terug van Isolate.run?
Samenvatting
Isolate.run voert één zware functie op de achtergrond uit, wacht de Future af, kopieert het resultaat terug en ruimt alles op. De eenvoudigste manier om parallellisme te gebruiken. ✅
Leer Dart met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Isolate.run voor snel uitbesteden” gratis?
Ja — de volledige tekst van “Isolate.run voor snel uitbesteden” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Dart Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Dart Academy bevat in totaal 4 lessen.
Wat leer ik in “Isolate.run voor snel uitbesteden”?
Een functie buiten de main-isolate uitvoeren Je oefent met Dart Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Dart Academy te beginnen?
Ervaring vooraf is niet nodig. Dart Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Isolate.run voor snel uitbesteden”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Dart Academy?
Ja. Elke les over Dart Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Waarom isolates en geen threads
- Isolate.run voor snel uitbesteden
- Isolates starten en berichten doorgeven
- Rekenintensieve taken zonder haperingen