ObjectPool je nová funkce od Microsoftu, Microsoft nám pomáhá udržovat některé objekty, které lze znovu použít.
Jednoduše řečeno, podobně jako u sdílených kol, když ho použijete, naskenujte kód k odemčení, vozidlo znamená, že je obsazeno, když ho použijete, když ho zamknete, vozidlo uvolní obsazenost. Tyto okupace a propuštění jsou pro nás udržovány platformou.
Některé objekty nejsou bezpečné pro vlákna, ale pokaždé, když objekt instancujeme, musíme spotřebovat určité zdroje.
Nejprve vytvoříme novou třídu SqlConnectionPooledObjectPolicy, která dědí rozhraní IPooledObjectPolicy <T>a potřebuje implementovat jeho dvě metody.
Jak instancovat objekt v metodě Create,Return označuje, zda lze objekt stále znovu použít, a když je vráceno nepravdivé, objekt bude z objektového poolu smazán.
Zdrojový kód testu je následující:
Výsledky testu jsou následující:
Je vidět, že pool připojení je o něco pomalejší při prvních 10 dotazech a poté rychlejší než při každé inscenaci SqlConnection.
Přiložen je zdrojový kód
Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosím Odpověď
|