Is construction of static function-scope object thread-safe?
<p>Suppose I have a function that tries to protect a global counter using this code:</p>

<pre><code> static MyCriticalSectionWrapper lock;
 lock.Enter();
 counter = ++m_counter;
 lock.Leave();
</code></pre>

<p>IS there a chance that two threads will invoke the <code>lock</code>'s constructor? What is the safe way to achieve this goal?</p>
