I have an application where I'd like to share a singleton class - at the start of application singleton is created, user specific data is set and used throughout the application. This works well now, but I am not sure how this approach will behave when multiple users access the application. I am thinking that this is not thread safe and cause shared data to be overwritten by different processes that use it. Is this correct?