Kommentar
Å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. I WinUI 3-appar använder du
DispatcherQueue.TryEnqueuefrånMicrosoft.UI.Dispatching.DispatcherQueue.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 ett periodvärde på <1 millisekunder (inklusive 0). Detta leder till 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 periodparametern .
Försök inte att skicka uppdateringar av användargränssnittet (förutom popup-meddelanden och meddelanden) från ett arbetsobjekt som skickas 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. Trådpoolens arbetsobjekt kan markeras som slutfört innan all kod i hanteraren har körts. Kod som följer ett väntande 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
Relaterade ämnen
Windows developer