Je vais partager une opération de base de données en lecture seule en plusieurs morceaux, (chacun lit un sous-ensemble d'une très grande quantité de données, analyse et écrit les résultats sur un disque fichier).Évitez de délai de connexion lorsque vous utilisez plusieurs threads et pool de connexion
Chaque morceau effectue une sélection (dans un datatable) sur un nouveau thread .net (en utilisant un délégué et BeginInvoke)
Il existe plusieurs sous-ensembles de données que il y a des connexions disponibles dans la piscine, quand je à court de connexions, avant que le premier est libéré, les demandes de connexion suivantes sont mises en attente ... jusqu'à ce que le délai de connexion expire, puis je reçois une exception de délai d'attente. Comment puis-je, A) inhiber l'exception de connexion de délai d'attente lorsque les connexions dans la piscine sont tous en cours d'utilisation, ou B) détecter qu'ils sont tous en cours d'utilisation avant même que je demande un autre, donc je peux attendre jusqu'à ce est disponible avant de demander?
avec option B, ce pool de threads est réglé sur un maximum de 100 fils (depuis la piscine de conections est réglé sur 100), puis, dans mon code où j'appelle BeginInvoke(), je raccroche lorsque tous les 100 threads sont en cours d'utilisation, jusqu'à ce qu'une fin du thread utilisé précédemment et est relâché dans ma piscine de fil? –