Krav: En NET/C#-metode må bruke System.Diagnostics.Process for å kalle andre programoperasjoner, hvis det er et tredjepartsprogramKonstant mangel på respons kan føre til metoder som alltid venterFordi et tredjepartsprogram kan kreve at du skriver inn en kommando, vil metoden ikke svare uansett hvor lenge den venter, noe som resulterer i at programmet ikke kan fortsette å kjøre normalt.
Når det gjelder å sette en timeout-tid for en metode, bør du vurdere noen ting:
- Metoden har gått ut på tid, men den kan fortsatt håndheves
- Hvis timeouten fortsetter, vil det fylle tråden? Full hukommelse? Full CPU?
- Metoden timeoutet, hvordan man elegant avslutter gjennomføringen av metoden
Jeg så noe kode på Internett, for eksempel om timeout for oppgaver, selv om effekten ble oppnådd, menOppgaven vil fortsette å bli utført, som kan bruke ressurser hele tiden, noe som får programmet til å krasje.
Koden er som følger:
Ved å gjennomgå temaet fastsetter denne artikkelen timeout-tiden for metodenMålrettet og ikke egnet for alle metoder, bare for å gi en idé, vennligst modifiser det etter din faktiske situasjon.
Metoden vår kaller System.Diagnostics.Process for å starte et tredjepartsprogram, og når metoden går ut på tid, vil vi avslutte prosessen som avslutter tredjepartsprogrammet! Koden er som følger:
(Slutt)
|