ObjectPool este o funcționalitate nouă de la Microsoft, Microsoft ne ajută să menținem unele obiecte care pot fi reutilizate.
Pe scurt, similar cu bicicletele comune, când îl folosești, scanezi codul pentru a-l debloca, vehiculul înseamnă că este ocupat, când îl folosești, când încuii mașina, vehiculul va elibera ocuparea. Aceste ocupații și eliberări sunt toate întreținute de platformă pentru noi.
Unele obiecte nu sunt sigure pentru thread-uri, dar de fiecare dată când instanțiem obiectul, trebuie să consumăm unele resurse.
În primul rând, creăm o nouă clasă SqlConnectionPooledObjectPolicy care moștenește interfața IPooledObjectPolicy <T>și trebuie să implementeze cele două metode ale sale.
Cum să instanțiezi obiectul în metoda Create,Return indică dacă obiectul poate fi reutilizat, iar când fals este returnat, obiectul va fi șters din pool-ul de obiecte.
Codul sursă de test este următorul:
Rezultatele testelor sunt următoarele:
Se poate observa că pool-ul de conexiuni este puțin mai lent la primele 10 interogări, iar după aceea este mai rapid decât fiecare instanție a SqlConnection.
Atașat este codul sursă
Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rog Răspunde
|