title: Thread safety on Application Start
body: <p>I have an ASP.NET application in which I am writing this code in Application_OnStart event:</p>
  
  <pre><code>public virtual void OnStart(HttpApplication httpApplication)
  {
      MyClass.PopulateIndices();
  }
  </code></pre>
  
  <p>Now, I know that <code>App_Onstart</code> is fired only once, so my question is: do I need to add thread safety in this code, like:</p>
  
  <pre><code>lock(some object)
  {
      MyClass.PopulateIndices();
  }
  </code></pre>
  
  <p>Is this <code>lock()</code> really needed? Can multiple threads fire App <code>OnStart</code> simultaneously? </p>