void function ( WorkRequest < T > arg0 ) { boolean loc0 = false ; while ( ! loc0 ) { try { inputQueue . put ( arg0 ) ; workCnt . incrementAndGet ( ) ; loc0 = true ; } catch ( InterruptedException loc1 ) { LOG . error ( "srini_string" ) ; } } }
blocking put workrequest to producerconsumer input queue . concode_field_sep LinkedBlockingQueue<WorkRequest<T>> inputQueue concode_elem_sep ExecutorService executor concode_elem_sep LinkedBlockingQueue<WorkReport<R>> outputQueue concode_elem_sep Log LOG concode_elem_sep WorkRequestProcessor<T,R> processor concode_elem_sep AtomicInteger workCnt concode_field_sep boolean hasWork concode_elem_sep WorkReport<R> take concode_elem_sep WorkReport<R> blockingTake concode_elem_sep void addWorker concode_elem_sep int getWorkCnt concode_elem_sep void run concode_elem_sep void shutdown