An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
i need to protect single objects that shared with asp .net core threads
In general I see use of a Singleton good for global access to application setting, passed that (and I don't know exactly what you have object-wise) it would be prudent to be more specific with pseudocode explaining code flow.
Although this code (done with C#9) is thread safe I would not use it, this was done for another question here that needed a singleton for a different purpose.