Maison >développement back-end >C++ >Comment puis-je attendre de manière asynchrone la sortie du processus en C# sans geler l'interface graphique ?
Attente de la sortie d'un processus de manière asynchrone
Dans de nombreuses applications, il est essentiel d'attendre la sortie d'un processus avant de continuer. Cependant, l'utilisation de Process.WaitForExit() peut provoquer le blocage de l'interface utilisateur graphique (GUI). Pour éviter ce problème, une solution basée sur les événements ou sur les threads est requise.
Approche basée sur les événements
À partir de .NET 4.0/C# 5, l'async Le motif offre une manière plus élégante de représenter le processus d’attente. La méthode WaitForExitAsync() peut être ajoutée à la classe Process, permettant à l'application d'attendre de manière asynchrone la fin du processus :
public static Task WaitForExitAsync(this Process process, CancellationToken cancellationToken = default(CancellationToken))
À l'intérieur de la méthode :
Utilisation
Pour utiliser la méthode WaitForExitAsync() :
public async void Test() { var process = new Process("processName"); process.Start(); await process.WaitForExitAsync(); // Do some fun stuff here... }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!