title: if ReentrantLock is locked wait but dont lock the lock
body: <p>I have a ReentrantLock in my code and want to use it to clear an array once per second; I dont want other threads to change the array while it is being cleared, but if I am not currently clearing the array other threads shall not have to wait, like this:</p>
  
  <pre><code>public void addToArray(Object a) {
      lock.waitforunlock(); //not a real method just to clarify my intentions
      array.add(a);
  }
  </code></pre>
  
  <p>To better clarify my intentions I will explain the process: the netty eventloop will call my network handler, that network handler will then call the addToArray method from before, once per second my main thread that will never be a Netty thread will clear the array, in this time every netty thread shall have to wait until this is finished! Note: the addToArray method is threadproof and I dont want to sync it because then the hole point of a event loop is useless.</p>