Maison >développement back-end >C++ >Quelle est la manière la plus simple de créer des méthodes non bloquantes en C# ?

Quelle est la manière la plus simple de créer des méthodes non bloquantes en C# ?

DDD
DDDoriginal
2025-01-18 15:41:10991parcourir

What's the Simplest Way to Create Non-Blocking Methods in C#?

Création de méthodes asynchrones et 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn