title: C++ stl unordered_map, thread safety where each thread accesses only it's own assigned key and may edit that value
body: <p> 
  Here is the scenario:</p>
  
  <p>1) using an <code>unordered_map&lt;int, vector&lt;MyClass*&gt;*&gt;</code> let's say I add keys 1, 2, ... 8<br>
  2) all keys are set with a vector at program initialization and nothing more is added or deleted<br>
  3) I have 8 threads, where thread1 accesses key[1], thread2 accesses key[2], ... thread8 accesses key[8] (i.e. the thread number can only access that key number and no other key)</p>
  
  <p>Sometimes I re-assign the value vector* to another heap allocated collection. (i.e. thread1 performs <code>key[1] = new vector&lt;MyClass*&gt;</code>)</p>
  
  <p>I believe this will be thread safe, am I correct? If not, I suppose I will use concurrent_unordered_map.</p>
  
  <p>thanks.</p>