title: Java ExecutorService: should I put a lock before to use execute?
body: <p>I have a class organized as follows:</p>
  
  <pre><code>public class MyClass {
  
     ExecutorService pool;
  
     public MyClass(){
       pool = ... //inited by a class that implements ExecutorService
     }
  
     public final void submit(Runnable run){
          pool.execute(run);
     }
  }
  </code></pre>
  
  <p>Is the method <code>submit</code> thread safe or I should use a <code>Lock</code>-based system? E.g.</p>
  
  <pre><code>   ReentrantLock look  = new ReentrantLock();
  
     public final void submit(Runnable run){
          lock.lock();
          try{ pool.execute(run); } finally{lock.unlock();}
     }
  </code></pre>