Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 9355|Odpověď: 5

[Zdroj] [Skutečný boj]. NET/C# nastavuje časový limit pro metodu

[Kopírovat odkaz]
Zveřejněno 04.05.2022 18:59:51 | | | |
Požadavky: Metoda NET/C# musí použít System.Diagnostics.Process k volání jiných programových operací, pokud jde o program třetí stranyStálý nedostatek reakce může vést k metodám, které vždy čekajíProtože program třetí strany může vyžadovat zadání příkazu, metoda neodpoví, ať čeká jakkoliv dlouho, což znamená, že program nebude schopen pokračovat v běžném spuštění.

Pokud jde o stanovení časového limitu pro nějakou metodu, měli byste zvážit několik věcí:

  • Metoda vypršela, ale může být stále vynucována
  • Pokud časový limit bude pokračovat, zaplní to vlákno? Plná paměť? Plný procesor?
  • Metoda vypršela, jak elegantně ukončit její provádění


Na internetu jsem viděl nějaký kód, například o časovém limitu úkolů, i když efekt byl dosažen, aleÚkol bude pokračovat v plnění, což může neustále spotřebovávat zdroje, což způsobuje pád programu.

Kód je následující:



Recenzně se věnujeme tématu, tento článek stanovuje časový limit pro tuto metoduCílené a nevhodné pro všechny metody, jen abych poskytl představu, prosím upravte ji podle své skutečné situace.

Naše metoda volá System.Diagnostics.Process k spuštění programu třetí strany, a jakmile metoda vyprší, chceme ukončit proces, který ukončí program třetí strany! Kód je následující:


(Konec)





Předchozí:[Skutečný boj]. NET/C# volá dekompresi 7z pomocí příkazové řádky
Další:Nginx používá HTTPS ke konfiguraci SSL certifikátů
Zveřejněno 04.05.2022 23:10:31 |
Uč se učit...
Zveřejněno 10.10.2022 13:12:08 |
Uč se učit...
Zveřejněno 10.10.2022 13:12:50 |
Nauč se to
Zveřejněno 10.10.2022 13:13:27 |
Podívejme se na řešení velkého chlapa hee hee
 Pronajímatel| Zveřejněno 10.10.2022 17:22:12 |
Task.WaitAsync() API v .NET 6

V .NET 6 byla přidána nová metoda WaitAsync, která slouží k asynchronnímu čekání na dokončení úkolu, a při asynchronním čekání lze specifikovat Timeout time nebo cancel token CancellationToken. V předchozí verzi existovalo pouze synchronní čekání, které čekalo na dokončení úkolu, a nepodporovalo lepší timeouty nebo zrušení úkolu Rozšíření jako TimeoutAfter mohou tato rozšíření nahradit WaitAsync

https://andrewlock.net/a-deep-di ... nc-api-in-dotnet-6/
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com