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.
I det här avsnittet beskrivs metodtips för att arbeta med trådpoolen.
Saker att göra
Använd trådpoolen för att utföra parallellt arbete i din app.
Använd arbetsobjekt för att utföra utökade uppgifter utan att blockera användargränssnittstråden.
Skapa arbetsobjekt som är kortvariga och oberoende. Arbetsobjekt körs asynkront och de kan skickas till poolen i valfri ordning från kön.
Skicka uppdateringar till användargränssnittstråden med Windows.UI.Core.CoreDispatcher.
Använd ThreadPoolTimer.CreateTimer i stället för funktionen Viloläge.
Använd trådpoolen i stället för att skapa ett eget trådhanteringssystem. Trådpoolen körs på OS-nivå med avancerad kapacitet och är optimerad för dynamisk skalning enligt enhetsresurser och aktivitet i processen och i hela systemet.
I C++kontrollerar du att arbetsobjektsdelegater använder den flexibla trådningsmodellen (C++-ombud är agila som standard).
Använd förallokerade arbetsobjekt när du inte kan tolerera ett resursallokeringsfel vid användningstillfället.
Förbud
Skapa inte periodiska timers med en period värdet <1 millisekunder (inklusive 0). Detta gör att arbetsobjektet fungerar som en engångstimer.
Skicka inte periodiska arbetsobjekt som tar längre tid att slutföra än den tid som du angav i period parametern.
Försök inte att skicka uppdateringar av användargränssnittet (förutom aviseringar och notifikationer) från ett arbetsobjekt som körs från en bakgrundsaktivitet. Använd i stället förlopps- och slutförandehanterare för bakgrundsaktiviteter , till exempel IBackgroundTaskInstance.Progress.
När du använder arbetsobjekthanterare som använder nyckelordet async ska du inte anta att all kod i hanteraren har körts när hela tillståndet har angetts för arbetsobjektet. Arbetsobjektet för trådpoolen kan vara inställt på slutfört tillstånd innan all kod i hanteraren har exekverats. Kod som följer en invänta nyckelord i hanteraren kan köras när arbetsobjektet har angetts till fullständigt tillstånd.
Försök inte att köra ett förallokerat arbetsobjekt mer än en gång utan att initiera om det. Skapa ett periodiskt arbetsobjekt