Контейнер Prism Resolve Thread Safe - PullRequest
       19

Контейнер Prism Resolve Thread Safe

0 голосов
/ 31 августа 2011

Потоково ли безопасно, если я хочу создать экземпляр какого-либо типа с помощью метода разрешения контейнера Prism, который был ранее зарегистрирован как singleton? К сожалению, я не смог найти никакой информации по этому вопросу.

1 Ответ

1 голос
/ 02 сентября 2011

Это зависит от того, что вы подразумеваете под поточно-ориентированным, и в зависимости от ответа, какую реализацию ServiceLocator вы используете.

Контейнеры MEF и Unity являются поточно-ориентированными в том смысле, что Resolve может вызываться независимо от нескольких потоков одного и того же типа. Теоретически у вас мог бы быть какой-то другой вид ServiceLocator, который не был бы потокобезопасным в этом отношении, но я был бы удивлен, найдя его, потому что это сделало бы синхронизацию потоков через приложение Prism настоящей рутиной.

То, что не может быть поточно-ориентированным, это фактический объект, который возвращается из контейнера. Например, если вы зарегистрировали объект Dictionary и запросили его обратно, в ServiceLocator нет ничего волшебного, что сделало бы поток операций Dictionary безопасным.

...