And if constructor takes a few seconds for some reason before the singleton is instantiated and some other thread asks for the same instance, will both threads get the same instance? Or do both threads get different instances if they request simultaneously