title: How do I read and write to a file using threads in java?
body: <p>I'm writing an application where I need to read blocks in from a single file, each block is roughly 512 bytes. I am also needing to write blocks simultaneously.</p>
  
  <p>One of the ideas I had was <code>BlockReader implements Runnable</code> and <code>BlockWriter implements Runnable</code> and <code>BlockManager</code> manages both the reader and writer.</p>
  
  <p>The problem that I am seeing with most examples that I have found was locking problems and potential deadlock situations. Any ideas how to implement this?</p>