Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 9355|Odpoveď: 5

[Zdroj] [Skutočný boj]. NET/C# nastavuje časový limit pre metódu

[Kopírovať odkaz]
Zverejnené 4. 5. 2022 18:59:51 | | | |
Požiadavky: Metóda NET/C# musí používať System.Diagnostics.Process na volanie iných programových operácií, ak ide o program tretej stranyNeustály nedostatok odpovedí môže viesť k metódam, ktoré stále čakajúKeďže program tretej strany môže vyžadovať zadanie príkazu, metóda nereaguje bez ohľadu na to, ako dlho čaká, čo znamená, že program nemôže pokračovať v bežnom vykonávaní.

Čo sa týka stanovenia času na prestávku pre metódu, mali by ste zvážiť niekoľko vecí:

  • Metóda vypršala, ale môže byť stále vynucovaná
  • Ak časový limit bude pokračovať, zaplní to vlákno? Plná pamäť? Plný procesor?
  • Metóda vypršala, ako elegantne ukončiť jej vykonanie


Na internete som videl nejaký kód, napríklad o časovom limite úloh, hoci efekt bol dosiahnutý, aleÚloha bude naďalej vykonávaná, čo môže neustále spotrebovávať zdroje, čo spôsobuje pád programu.

Kód je nasledovný:



Pri zhrnení témy tento článok stanovuje čas prestávky pre túto metóduCielené a nevhodné pre všetky metódy, len aby som poskytol predstavu, prosím, upravte ho podľa vašej skutočnej situácie.

Naša metóda volá System.Diagnostics.Process na spustenie programu tretej strany, a keď metóda vyprší, chceme ukončiť proces, ktorý ukončí program tretej strany! Kód je nasledovný:


(Koniec)





Predchádzajúci:[Skutočný boj]. NET/C# volá dekompresiu 7z cez príkazový riadok
Budúci:Nginx používa HTTPS na konfiguráciu SSL certifikátov
Zverejnené 4. 5. 2022 23:10:31 |
Nauč sa učiť...
Zverejnené 10. 10. 2022 13:12:08 |
Nauč sa učiť...
Zverejnené 10. 10. 2022 13:12:50 |
Nauč sa to
Zverejnené 10. 10. 2022 13:13:27 |
Pozrime sa na riešenie veľkého chlapa hee hee
 Prenajímateľ| Zverejnené 10. 10. 2022 17:22:12 |
Task.WaitAsync() API v .NET 6

V .NET 6 bola pridaná nová metóda WaitAsync, ktorá sa používa na asynchrónne čakanie na dokončenie úlohy, a pri asynchrónnom čakaní môžete špecifikovať čas vypršania alebo token zrušenia CancellationToken, v predchádzajúcej verzii existoval len synchronný Wait, ktorý čakal na dokončenie úlohy a nepodporoval lepšie časové limity alebo zrušenia úlohy Rozšírenia ako TimeoutAfter môžu tieto rozšírenia nahradiť WaitAsync

https://andrewlock.net/a-deep-di ... nc-api-in-dotnet-6/
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com