private void tryPollForAndExec ( WorkQueue joiner , ForkJoinTask < ? > task ) { WorkQueue [ ] ws ; if ( ( ws = workQueues ) != null ) { for ( int j = 1 ; j < ws . length && task . status >= 0 ; j += 2 ) { WorkQueue q = ws [ j ] ; if ( q != null && q . pollFor ( task ) ) { joiner . runSubtask ( task ) ; break ; } } } }
If task is at base of some steal queue steals and executes it .