Megosztás a következőn keresztül:


Ajánlott eljárások a szálkészlet használatához

Ez a témakör a szálkészlet használatának ajánlott eljárásait ismerteti.

Tennivalók

  • A szálmedence használatával párhuzamos munkát végezhet 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 bármilyen sorrendben beküldhetők a folyamatcsoportba.

  • A Windows.UI.Core.CoreDispatcherfrissítéseket küld a felhasználói felület szálához.

  • Használja ThreadPoolTimer.CreateTimer a Sleep függvény helyett.

  • 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.

Amit nem szabad

  • Ne hozzon létre 1 ezredmásodperc időtartamú 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 a időszak paramé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őben az kód, amely egy kulcsszóra vár, végrehajtódhat, miután a munkaelem a teljes állapotra lett állítva.

  • Ne próbálja meg többször futtatni az előre lefoglalt munkaelemet újraincializálás nélkül. Rendszeres munkaelem létrehozása