ObjectPool е нова функция на Microsoft, Microsoft ни помага да поддържаме някои обекти, които могат да се използват повторно.
Просто казано, подобно на споделените велосипеди, когато го използваш, сканирай кода, за да го отключиш – превозното средство означава, че е заето, когато го използваш, когато заключиш колата, превозното средство освобождава обитателя. Тези професии и освобождавания се поддържат от платформата за нас.
Някои обекти не са нишково-безопасни, но всеки път, когато инстанцираме обекта, трябва да изразходваме някои ресурси.
Първо, създаваме нов клас SqlConnectionPooledObjectPolicy, който наследява <T>интерфейса IPooledObjectPolicy и трябва да реализира двата му метода.
Как да инстанцираме обекта в метода Create,Return показва дали обектът все още може да се използва повторно, а когато false бъде върнат, обектът ще бъде изтрит от обектния пул.
Изходният код на теста е следният:
Резултатите от теста са следните:
Вижда се, че пулът от връзки е малко по-бавен при първите 10 заявки, а след това е по-бърз от всяка инстанция на SqlConnection.
Приложен е изходният код
Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
|