ObjectPool is een nieuwe functie van Microsoft, Microsoft helpt ons bij het onderhouden van enkele objecten die hergebruikt kunnen worden.
Kort gezegd, net als bij gedeelde fietsen: wanneer je hem gebruikt, scant je de code om hem te ontgrendelen, het voertuig betekent dat het bezet is; als je hem gebruikt, als je de auto vergrendelt, laat het voertuig de inzittenden vrij. Deze bezettingen en vrijlatingen worden allemaal door het platform voor ons onderhouden.
Sommige objecten zijn niet thread-veilig, maar elke keer dat we het object instantiëren, moeten we wat resources verbruiken.
Eerst maken we een nieuwe SqlConnectionPooledObjectPolicy-klasse aan die de IPooledObjectPolicy-interface erft <T>en de twee methoden moet implementeren.
Hoe het object te instantiëren in de Create-methode,Return geeft aan of het object nog steeds hergebruikt kan worden, en wanneer false wordt teruggegeven, wordt het object uit de objectpool verwijderd.
De broncode van de test is als volgt:
De testresultaten zijn als volgt:
Je kunt zien dat de verbindingspool iets trager is bij de eerste 10 queries, en daarna sneller dan elke instantie van SqlConnection.
Bijgevoegd is de broncode
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
|