La file d'attente de blocage est une file d'attente. Ce comportement garantit la coordination des producteurs et des consommateurs de la file d'attente et ne sera pas perdu ni des données répétées.
Une méthode de création d'une file d'attente de blocage dans un .NET était de réaliser l'ensemble personnalisé d'héritage de
. Ce type peut utiliser pour bloquer les threads lorsque la file d'attente est pleine ou vide. Cependant, cette méthode n'est pas idéale, car elle nécessite beaucoup de code personnalisé et est sujette à des erreurs.
CollectionBase
y a-t-il une meilleure façon? AutoResetEvent
La classe dans l'espace de dénomination fournit toutes les fonctions de la file d'attente de blocage, et elle est plus facile à utiliser qu'une classe de jeu personnalisée.
Il existe deux méthodes principales: et System.Collections.Concurrent
. Si la file d'attente est pleine, la méthode bloquera le fil d'appel; si la file d'attente est vide, la méthode BlockingCollection<T>
bloquera le thread d'appel.
Les exemples suivants de la classe BlockingCollection<T>
: Add
Take
Add
Conclusion Take
La classe est une méthode pratique et efficace pour créer une file d'attente de blocage dans le .NET. Il est plus facile à utiliser qu'une classe de set personnalisée et fournit toutes les fonctions de la file d'attente de blocage. BlockingCollection<T>
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!