Is it thread safe if i want to create an instance of some type via Prism container resolve method that was previously registered as singleton? Unfortunately i couldn’t find any info on this.
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
It depends on what you mean by thread-safe, and depending on the answer to that, what implementation of ServiceLocator you are using.
Both MEF and Unity containers are thread-safe in the sense that Resolve can be called independently from multiple threads for the same type. Theoretically you could have some other kind of ServiceLocator which was not thread-safe in this respect, but I would be surprised to find one, because it would make thread synchronization across a Prism app a real chore.
What may not be thread-safe is the actual object that is returned from the container. For instance, if you registered a Dictionary object and asked for that back, there is nothing magical about ServiceLocator that would make the Dictionary’s operations thread safe.