title: java thread accessing outer object before it's created
body: <p>Yes, this is an academic question, I know people will complain that I'm not posting any code 
  but I'm genuinely struck with this question, really don't know where to begin. I would really appreciate an explanation and maybe some code example.</p>
  
  <blockquote>
    <p>If an object constructor starts a new thread that executes the method
    run of an anonymous inner class object,  it is possible that this new
    thread can access its surrounding outer object before it has been
    fully constructed  and its fields fully initialized. How would you
    prevent this from happening?</p>
  </blockquote>