public void execute ( ) { Runnable task = new Runnable ( ) { public void run ( ) { final V result = performTask ( ) ; SwingUtilities . invokeLater ( new Runnable ( ) { public void run ( ) { postProcessing ( result ) ; latch . countDown ( ) ; } } ) ; } } ; new Thread ( task , "SwingBackgroundTask-" + id ) . start ( ) ; }
Asynchronous call that begins execution of the task and returns immediately .