Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a témakör a szálkészlet használatának ajánlott eljárásait ismerteti.
Tennivalók
Használja a szálkészletet párhuzamos feladatok végrehajtására az alkalmazásában.
A munkaelemek használatával a felhasználói felületi szál blokkolása nélkül végezhet el kiterjesztett feladatokat.
Rövid élettartamú és független munkaelemeket hozhat létre. A munkaelemek aszinkron módon futnak, és a sorból tetszőleges sorrendben beküldhetők a poolba.
Frissítések küldése a felhasználói felületi szálra. A WinUI 3-alkalmazásokban használja a következőt:
DispatcherQueue.TryEnqueueinnen:Microsoft.UI.Dispatching.DispatcherQueue.Az Alvás függvény helyett használja a ThreadPoolTimer.CreateTimer függvényt.
Használja a szálkészletet ahelyett, hogy saját szálkezelő rendszert hozna létre. A szálkészlet az operációs rendszer szintjén, fejlett képességgel fut, és úgy van optimalizálva, hogy dinamikusan skálázható legyen az eszköz erőforrásai és tevékenységei szerint a folyamaton és a rendszeren belül.
A C++-ban győződjön meg arról, hogy a munkaelemek delegáltjai az agilis szálmodellt használják (a C++ meghatalmazottak alapértelmezés szerint agilisak).
Előre lefoglalt munkaelemeket akkor használjon, ha nem tudja elviselni az erőforrás-foglalási hibát a használat során.
Kerülendők
Ne hozzon létre 1 ezredmásodperc értékű<periodikus időzítőket (beleértve a 0-t is). Ez azt eredményezi, hogy a munkaelem egyszeri időzítőként viselkedik.
Ne küldjön be olyan időszakos munkaelemeket, amelyek hosszabb időt vesznek igénybe, mint az időszakparaméterben megadott időtartam.
Ne próbáljon felhasználói felületi frissítéseket küldeni (a bejelentéseken és értesítéseken kívül) egy háttérfeladatból küldött munkaelemből. Ehelyett használjon háttérfeladat-előrehaladási és befejezési kezelőket – például IBackgroundTaskInstance.Progress.
Ha az aszinkron kulcsszót használó munkaelem-kezelőket használja, ne feltételezze, hogy a kezelőben lévő összes kód akkor lett végrehajtva, amikor a teljes állapot be lett állítva a munkaelemen. Előfordulhat, hogy a szálkészlet munkaeleme a teljes állapotra van állítva, mielőtt a kezelőben lévő összes kód végre lett hajtva. A kezelőn belül egy várakozó kulcsszót követő kód a munkaelem teljes állapotra való beállítása után is végrehajtható.
Ne próbálja meg többször futtatni az előre lefoglalt munkaelemet újraincializálás nélkül. Időszakos munkaelem létrehozása
Kapcsolódó témakörök
Windows developer