ObjectPool ist eine neue Funktion von Microsoft, Microsoft hilft uns, einige Objekte zu pflegen, die wiederverwendet werden können.
Kurz gesagt: Ähnlich wie bei Teilfahrrädern: Wenn Sie es benutzen, scannen Sie den Code, um es zu entsperren, bedeutet das Fahrzeug, dass es besetzt ist; wenn Sie es benutzen, wenn Sie das Auto abschließen, lässt das Fahrzeug die Insassen frei. Diese Besetzungen und Freigaben werden alle von der Plattform für uns verwaltet.
Manche Objekte sind nicht threadsicher, aber jedes Mal, wenn wir das Objekt instanziieren, müssen wir einige Ressourcen verbrauchen.
Zuerst erstellen wir eine neue SqlConnectionPooledObjectPolicy-Klasse, die die IPooledObjectPolicy-Schnittstelle erbt <T>und ihre beiden Methoden implementieren muss.
Wie man das Objekt in der Create-Methode instanziiert,Return zeigt an, ob das Objekt noch wiederverwendet werden kann, und wenn falsch zurückgegeben wird, wird das Objekt aus dem Objektpool gelöscht.
Der Quellcode des Tests ist wie folgt:
Die Testergebnisse sind wie folgt:
Man sieht, dass der Connection Pool bei den ersten 10 Abfragen etwas langsamer ist und danach schneller als jede Instanziierung von SqlConnection.
Angehängt ist der Quellcode
Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitte Antwort
|