title: Java - SwingWorker - Can we call one SwingWorker from other SwingWorker instead of EDT
body: <p>I have a <code>SwingWorker</code> as follows:</p>
  
  <pre><code>public class MainWorker extends SwingWorker(Void, MyObject) {
      :
      :
  }
  </code></pre>
  
  <p>I invoked the above <code>Swing Worker</code> from EDT:</p>
  
  <pre><code>MainWorker mainWorker = new MainWorker();
  mainWorker.execute();
  </code></pre>
  
  <p>Now, the <code>mainWorker</code> creates 10 instances of a <code>MyTask</code> class so that each instance will run on its own thread so as to complete the work faster.</p>
  
  <p>But the problem is I want to update the gui from time to time while the tasks are running. I know that if the task was executed by the <code>mainWorker</code> itself, I could have used <code>publish()</code> and <code>process()</code> methods to update the gui.</p>
  
  <p>But as the tasks are executed by threads different from the <code>Swingworker</code> thread, how can I update the gui from intermediate results generated by threads executing tasks.</p>