Как создать потокобезопасный пул объектов? - PullRequest
1 голос
/ 18 ноября 2009

В моем серверном приложении (написанном на C #) мне нужно создать пул объектов того же типа. Я вытаскиваю объект из пула, когда мне нужно, и он возвращается в пул, когда он больше не нужен. Механизм должен быть потокобезопасным, поскольку разные потоки будут запрашивать и отправлять эти объекты. Я понимаю, что частая блокировка чего-либо, что делает потокобезопасным, отрицательно влияет на производительность приложения. Можете ли вы предложить дизайн, с помощью которого я могу даже избежать явных блокировок?

Пожалуйста, вы можете предложить способ, которым я могу достичь выше? Возможность изменить размер пула (создать дополнительный, если не хватает объектов) будет отличным дополнением.

Заранее спасибо ...

Ответы [ 2 ]

2 голосов
/ 18 ноября 2009
1 голос
/ 18 ноября 2009

Мне повезло с этим на CodeProject. Мне нужно было лишь немного изменить способ хранения WeakReference s, но в остальном он работает без проблем вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...