Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här dokumentet beskriver rollen för lätta uppgifter i Concurrency Runtime. En lättviktig uppgift är en uppgift som du schemalägger direkt från ett concurrency::Scheduler- eller concurrency::ScheduleGroup-objekt. En lättviktsuppgift liknar den funktion som du anger för funktionen CreateThread för Windows API. Därför är lätta uppgifter användbara när du anpassar befintlig kod för att använda schemaläggningsfunktionerna i Concurrency Runtime. Själva Concurrency Runtime använder enkla uppgifter för att schemalägga asynkrona agenter och skicka meddelanden mellan asynkrona meddelandeblock.
Tips/Råd
Concurrency Runtime tillhandahåller en standardschemaläggare och därför behöver du inte skapa en i ditt program. Eftersom Schemaläggaren hjälper dig att finjustera prestanda för dina program rekommenderar vi att du börjar med PPL (Parallel Patterns Library) eller Asynchronous Agents Library om du är nybörjare på Concurrency Runtime.
Enklare uppgifter medför mindre omkostnader än asynkrona agenter och aktivitetsgrupper. Körtiden informerar dig till exempel inte när en enkel uppgift har slutförts. Dessutom fångar eller hanterar körningen inte undantag som genereras från en lättviktsuppgift. Mer information om undantagshantering och enklare uppgifter finns i Undantagshantering.
För de flesta uppgifter rekommenderar vi att du använder mer robusta funktioner som aktivitetsgrupper och parallella algoritmer eftersom de gör det enklare att dela upp komplexa uppgifter i mer grundläggande uppgifter. Mer information om aktivitetsgrupper finns i Aktivitetsparallellitet. Mer information om parallella algoritmer finns i Parallella algoritmer.
För att skapa en lättviktig uppgift anropar du concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask eller concurrency::Scheduler::ScheduleTask-metoden. Om du vill vänta på att en enkel uppgift ska slutföras, vänta på att den överordnade schemaläggaren stängs av eller använd en synkroniseringsmekanism, till exempel ett samtidighet::händelse objekt.
Exempel
Ett exempel som visar hur du anpassar befintlig kod för att använda en enkel uppgift finns i Genomgång: Anpassa befintlig kod för att använda lätta uppgifter.
Se även
Aktivitetsschemaläggare
Genomgång: Anpassa befintlig kod för att använda lätta uppgifter