Maison >développement back-end >C++ >Quelle est la manière la plus simple de créer des méthodes non bloquantes en C# ?
Une question courante parmi les développeurs C# est de savoir comment créer facilement des méthodes non bloquantes. Bien que l'attribut [OperationContract(IsOneWay = true)]
de WCF fournisse cette fonctionnalité, il peut être considéré comme trop complexe pour des scénarios plus simples. Heureusement, il existe des alternatives plus légères.
L'approche la plus simple consiste à utiliser ThreadPool.QueueUserWorkItem
. Cette méthode met efficacement en file d’attente une tâche qui sera exécutée de manière asynchrone par le pool de threads ultérieurement. La syntaxe est incroyablement concise :
<code class="language-csharp">ThreadPool.QueueUserWorkItem(o => FireAway());</code>
Après avoir mis la tâche en file d'attente, l'exécution continue immédiatement, imitant efficacement un mécanisme de tir et d'oubli.
Depuis .NET 4.5, Task.Run
propose une méthode tout aussi simple et efficace pour l'exécution de tâches asynchrones :
<code class="language-csharp">Task.Run(() => FireAway());</code>
ThreadPool.QueueUserWorkItem
et Task.Run
offrent aux développeurs des moyens simples et efficaces de créer des méthodes non bloquantes en C#, ce qui permet d'obtenir des applications plus réactives et efficaces.
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!