private void startupProcessor ( ) { Processor processor = processorRef . get ( ) ; if ( processor == null ) { processor = new Processor ( ) ; if ( processorRef . compareAndSet ( null , processor ) ) { executor . execute ( new NamePreservingRunnable ( processor , threadName ) ) ; } } // Just stop the select() and start it again, so that the processor // can be activated immediately. wakeup ( ) ; }
Starts the inner Processor asking the executor to pick a thread in its pool . The Runnable will be renamed