title: Static or Non Static methods, thread safety is for the types not methods
body: <p>I have this confusion for sometime, are static method implementation threads safe, instance methods are certainly thread safe, if we assign a separate instance to each thread, then they do not meddle, then I have realized that, thread safety is more about types then methods, which are in themselves not a memory allocation, so let's take an example:</p>
  
  <pre><code>private static ConcurrentDictionary&lt;int,int&gt; cd;
  
  public static void Method1(int userid)
  {
     // Modify static object cd based on userid key
  }
  
  public void Method2(int userid)
  {
      // Modify static object cd based on userid key
  }
  </code></pre>
  
  <p>In essence there's no difference between two methods when accessed by multiple threads supplying different user ids at run time. I have tested the same but want to verify if my understanding is correct.</p>