Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit document wordt de rol van lichtgewicht taken in de Gelijktijdigheidsruntime beschreven. Een lichtgewicht taak is een taak die u rechtstreeks vanuit een concurrency::Scheduler of concurrency::ScheduleGroup object plant. Een lichtgewicht taak lijkt op de functie die u aan de Functie CreateThread van de Windows-API opgeeft. Daarom zijn lichtgewicht taken handig wanneer u bestaande code aanpast om de planningsfunctionaliteit van de Gelijktijdigheidsruntime te gebruiken. De Concurrency Runtime zelf maakt gebruik van lichtgewicht taken om asynchrone agents te plannen en berichten te verzenden tussen asynchrone berichtblokken.
Aanbeveling
De Gelijktijdigheidsruntime biedt een standaardplanner en daarom hoeft u er geen te maken in uw toepassing. Omdat task scheduler u helpt bij het verfijnen van de prestaties van uw toepassingen, raden we u aan om te beginnen met de PPL (Parallel Patterns Library) of de Asynchrone agents-bibliotheek als u niet bekend bent met de Gelijktijdigheidsruntime.
Lichte taken vereisen minder rekenkracht dan asynchrone agents en taakgroepen. De runtime informeert u bijvoorbeeld niet wanneer een lichtgewicht taak is voltooid. Bovendien worden uitzonderingen die vanuit een lichtgewicht taak worden gegenereerd, in de runtime niet onderschept of verwerkt. Zie Uitzonderingsafhandeling voor meer informatie over het verwerken van uitzonderingen en lichtgewicht taken.
Voor de meeste taken raden we u aan om robuustere functionaliteit te gebruiken, zoals taakgroepen en parallelle algoritmen, omdat u hiermee complexere taken gemakkelijker kunt opsplitsen in eenvoudigere taken. Zie Taakparallellisme voor meer informatie over taakgroepen. Zie Parallelle algoritmen voor meer informatie over parallelle algoritmen.
Als u een lichtgewicht taak wilt maken, roept u concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask of concurrency::Scheduler::ScheduleTask aan. Als u wilt wachten tot een lichtgewicht taak is voltooid, wacht u totdat de bovenliggende scheduler wordt afgesloten of gebruikt u een synchronisatiemechanisme zoals een 'concurrentie::gebeurtenis' object.
Voorbeeld
Zie Overzicht: Bestaande code aanpassen om lichtgewicht taken te gebruiken, voor een voorbeeld waarin u ziet hoe u bestaande code aanpast om lichtgewicht taken te gebruiken.
Zie ook
Taakplanner
Handleiding: Bestaande code aanpassen om lichtgewicht taken te gebruiken