title: Should I use critical section or syncronize/queue to modify class data members?
body: <p>Let's say <code>TForm1</code> class (default main window) contains data member <code>int x;</code>. If I create additional threads from <code>TThread</code> descendant should I use critical section object or <em>Synchronize/Queue</em> methods to modify value of <code>x</code> inside thread's <em>Execute</em> method? </p>
  
  <p>I know that <em>Synchronize/Queue</em> are used when thread makes changes to VCL components. But, does that also applies here just because <code>x</code> is declared inside VCL's <code>TForm1</code> or I can simply use critical section object instead?</p>