protected void configureTask(AbstractRxTask task) { synchronized (task) { task.setTaskPool(this); // task.setName(task.getClass().getName() + "[" + inc() + "]"); // task.setDaemon(true); // task.setPriority(Thread.MAX_PRIORITY); // task.start(); } }
/** * Called by the worker thread to return itself to the * idle pool. * @param worker The worker */ public void returnWorker (AbstractRxTask worker) { if ( running ) { synchronized (mutex) { used.remove(worker); //if ( idle.size() < minThreads && !idle.contains(worker)) idle.add(worker); if ( idle.size() < maxTasks && !idle.contains(worker)) idle.add(worker); //let max be the upper limit else { worker.close(); } mutex.notifyAll(); } } else { worker.close(); } }
/** * Called by the worker thread to return itself to the * idle pool. */ public void returnWorker (AbstractRxTask worker) { if ( running ) { synchronized (mutex) { used.remove(worker); //if ( idle.size() < minThreads && !idle.contains(worker)) idle.add(worker); if ( idle.size() < maxTasks && !idle.contains(worker)) idle.add(worker); //let max be the upper limit else { worker.setDoRun(false); synchronized (worker){worker.notify();} } mutex.notify(); } }else { worker.setDoRun(false); synchronized (worker){worker.notify();} } }
public void close() { setDoRun(false); try {socket.close();}catch ( Exception ignore){} try {reader.close();}catch ( Exception ignore){} reader = null; socket = null; super.close(); } }
/** * Called by the worker thread to return itself to the * idle pool. */ public void returnWorker (AbstractRxTask worker) { if ( running ) { synchronized (mutex) { used.remove(worker); //if ( idle.size() < minThreads && !idle.contains(worker)) idle.add(worker); if ( idle.size() < maxTasks && !idle.contains(worker)) idle.add(worker); //let max be the upper limit else { worker.setDoRun(false); synchronized (worker){worker.notify();} } mutex.notify(); } }else { worker.setDoRun(false); synchronized (worker){worker.notify();} } }
@Override public void close() { setDoRun(false); try { socket.close(); }catch (Exception e) { if (log.isDebugEnabled()) { log.debug("Failed to close socket", e); } } try { reader.close(); }catch (Exception e) { if (log.isDebugEnabled()) { log.debug("Failed to close reader", e); } } reader = null; socket = null; super.close(); } }
protected void configureTask(AbstractRxTask task) { synchronized (task) { task.setTaskPool(this); // task.setName(task.getClass().getName() + "[" + inc() + "]"); // task.setDaemon(true); // task.setPriority(Thread.MAX_PRIORITY); // task.start(); } }
/** * Called by the worker thread to return itself to the * idle pool. */ public void returnWorker (AbstractRxTask worker) { if ( running ) { synchronized (mutex) { used.remove(worker); //if ( idle.size() < minThreads && !idle.contains(worker)) idle.add(worker); if ( idle.size() < maxTasks && !idle.contains(worker)) idle.add(worker); //let max be the upper limit else { worker.setDoRun(false); synchronized (worker){worker.notify();} } mutex.notify(); } }else { worker.setDoRun(false); synchronized (worker){worker.notify();} } }
@Override public void close() { setDoRun(false); try { socket.close(); }catch (Exception e) { if (log.isDebugEnabled()) { log.debug("Failed to close socket", e); } } try { reader.close(); }catch (Exception e) { if (log.isDebugEnabled()) { log.debug("Failed to close reader", e); } } reader = null; socket = null; super.close(); } }
protected void configureTask(AbstractRxTask task) { synchronized (task) { task.setTaskPool(this); // task.setName(task.getClass().getName() + "[" + inc() + "]"); // task.setDaemon(true); // task.setPriority(Thread.MAX_PRIORITY); // task.start(); } }
@Override public void close() { try { socket.close(); }catch (Exception e) { if (log.isDebugEnabled()) { log.debug(sm.getString("bioReplicationTask.socket.closeFailed"), e); } } try { reader.close(); }catch (Exception e) { if (log.isDebugEnabled()) { log.debug(sm.getString("bioReplicationTask.reader.closeFailed"), e); } } reader = null; socket = null; super.close(); } }
protected void configureTask(AbstractRxTask task) { synchronized (task) { task.setTaskPool(this); // task.setName(task.getClass().getName() + "[" + inc() + "]"); // task.setDaemon(true); // task.setPriority(Thread.MAX_PRIORITY); // task.start(); } }