ObjectPool est une nouvelle fonctionnalité de Microsoft, Microsoft nous aide à maintenir certains objets qui peuvent être réutilisés.
Pour faire simple, un peu comme les vélos partagés, quand vous l’utilisez, scannez le code pour le déverrouiller, le véhicule signifie qu’il est occupé, quand vous l’utilisez, lorsque vous verrouillez la voiture, le véhicule libère l’occupation. Ces occupations et relâchages sont tous gérés par la plateforme pour nous.
Certains objets ne sont pas sûrs pour les threads, mais à chaque fois que nous instancions l’objet, nous devons consommer certaines ressources.
Tout d’abord, nous créons une nouvelle classe SqlConnectionPooledObjectPolicy qui hérite de l’interface IPooledObjectPolicy <T>et doit implémenter ses deux méthodes.
Comment instancier l’objet dans la méthode Create,Return indique si l’objet peut toujours être réutilisé, et lorsque le faux est retourné, l’objet sera supprimé du pool d’objets.
Le code source du test est le suivant :
Les résultats des tests sont les suivants :
On peut constater que le pool de connexions est un peu plus lent lors des 10 premières requêtes, et après cela, il est plus rapide que chaque instanciation de SqlConnection.
Le code source est joint
Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaît Répondre
|