title: Thread Synchronization and member function
body: <p>I have four threads with 'this' pointer as the thread parameter.
  In these threads I am calling same member function using the reinterpret_casted this pointer. This member function uses the member variables ( non static ) for reading only. But the application crashed and the crash dump shows the application crashed when calling the member function from threads.</p>
  
  <pre><code>DWORD MyClass::Thread1( LPVOID ParamPtr )
  {
       MyClass* MyClassPtr = reinterpret_cast&lt;MyClass*&gt;( ParamPtr );
       for(i......)
       {
           for( j..... )
           {
               // a.b.c are local variables
               MyClassPtr-&gt;MyFunc( a, b, c );  &lt;-  Crashed
               ...............
               MyClassPtr-&gt;member1 = 1;
           }
       }
    }
  </code></pre>
  
  <p>Similar code in Thread2, Thread3 &amp; Thread4 which modifies the different member variables.</p>