title: Sharing a thread-safe field between instances of a Transient service in C# / NETC core?
body: <p>I need to share some locks (aka "object" fields) and regular data fields between functions called from a Transient service in .NET Core.
  Naturally, these locks and fields should be declared in a thread-safe manner.</p>
  
  <p>What would be the best way to approach it? I am thinking of a separate Singleton service. Do I have to add some keywords to the fields and locks declared so these are thread-safe?</p>
  
  <p>I am well familiar with Java multithreading but never done it so far in C#.</p>