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