title: Best Multithread Global Variable Management
body: <p>I've looked at things like <code>std::atomic</code> (which doesn't work) and <code>std::mutex</code> (which is too much to manage) but nothing is working :( I'm using <code>std::thread</code> to create my threads, but I'm open to using <code>CreateThread()</code></p>
  
  <p>Here is the scenario: I have a variable that is constantly being updated in one thread. (say it's an int which reflects some value like number of dollars the user has) In the other threads, I access this variable, but do not write to it (just read). What can I do for this?</p>
  
  <p><code>std::atomic</code> doesn't store the information fast enough in the first thread, which results in really really broken values (say the user has $10, if I write $10 twice before <code>std::atomic</code> actually updates it, it'll be some obscure value like 28 million) - there's no "variable save queue" of any sort.</p>
  
  <p><code>std::mutex</code> just requires too much attention and ruins code readability.</p>
  
  <p>What is the best way to manage these global variables? I'd love something as intuitive as <code>std::atomic</code>, since it manages everything for me, but preferably one that will satisfy my current dilemma.</p>