Gérer les E / S asynchrones simultanées dans .NET
Gérer efficacement le nombre d'opérations d'E / S asynchrones simultanées est vitale pour éviter l'épuisement des ressources. .NET offre plusieurs mécanismes pour y parvenir.
Tiration de SemaphoreSlim
pour le contrôle de concurrence asynchrone
Puisque .NET 4.5, SemaphoreSlim
La méthode WaitAsync()
> fournit une synchronisation asynchrone solide robuste. Cela permet un contrôle précis sur le nombre d'opérations asynchrones simultanées.
Voici un exemple:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
Planification de tâches basée sur TPL avec limites de concurrence
Alternativement, la bibliothèque parallèle de la tâche (TPL) peut être utilisée conjointement avec un planificateur de tâches personnalisé pour appliquer les limites de concurrence. Cela implique de créer des tâches mais de retarder leur exécution jusqu'à ce qu'un emplacement soit disponible.
Points supplémentaires à considérer
TaskScheduler
: MSDN fournit des exemples de création d'implémentations personnalisées TaskScheduler
pour la gestion de concurrence à grain fin. 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!