title: Using __thread in c99
body: <p>I would like to define a few variables as thread-specific using the __thread storage class.  But three questions make me hesitate:</p>
  
  <ol>
  <li>Is it really standard in c99?   Or more to the point, how good is the compiler support?</li>
  <li>Will the variables be initialised in every thread?</li>
  <li>Do non-multi threaded programs treat them as plain-old-globals?</li>
  </ol>