private static Stoppable copyInBackground(final InputStream in, final boolean closeIn, final OutputStream out, final boolean closeOut) { return ThreadUtil.runInBackground(new Runnable() { @Override public void run() { try { ProcessUtil.copy(in, closeIn, out, closeOut); } catch (IOException e) { ; } } }, "copy-in-background"); }
private static Stoppable copyInBackground(final InputStream in, final boolean closeIn, final OutputStream out, final boolean closeOut) { return ThreadUtil.runInBackground(new Runnable() { @Override public void run() { try { ProcessUtil.copy(in, closeIn, out, closeOut); } catch (IOException e) { ; } } }, "copy-in-background"); }
/** * @see #runInBackground(Runnable, String) */ public static <EX extends Throwable> Stoppable runInBackground(final RunnableWhichThrows<EX> runnable, @Nullable String threadName) { return ThreadUtil.runInBackground(new Runnable() { @Override public void run() { try { runnable.run(); } catch (Throwable e) { // SUPPRESS CHECKSTYLE IllegalCatch ThreadUtil.LOGGER.log(Level.INFO, "Exception caught from runnable", e); } } }, threadName); }
/** * @see #runInBackground(Runnable, String) */ public static <EX extends Throwable> Stoppable runInBackground(final RunnableWhichThrows<EX> runnable, @Nullable String threadName) { return ThreadUtil.runInBackground(new Runnable() { @Override public void run() { try { runnable.run(); } catch (Throwable e) { // SUPPRESS CHECKSTYLE IllegalCatch ThreadUtil.LOGGER.log(Level.INFO, "Exception caught from runnable", e); } } }, threadName); }
/** * Runs all but the last of {@code runnables} in the background, and the last of {@code runnables} in the * foreground. */ public static <R extends RunnableWhichThrows<EX>, EX extends Throwable> void runInForeground(Iterable<R> runnables) throws EX { Iterator<R> it = runnables.iterator(); List<Stoppable> stoppables = new ArrayList<Stoppable>(); for (;;) { RunnableWhichThrows<EX> r = it.next(); if (!it.hasNext()) { ThreadUtil.runInForeground(r); break; } stoppables.add(ThreadUtil.runInBackground(r, null)); } for (Stoppable stoppable : stoppables) stoppable.stop(); } }
/** * Runs all but the last of <var>runnables</var> in the background, and the last of <var>runnables</var> in the * foreground. */ public static <R extends RunnableWhichThrows<EX>, EX extends Throwable> void runInForeground(Iterable<R> runnables) throws EX { Iterator<R> it = runnables.iterator(); List<Stoppable> stoppables = new ArrayList<Stoppable>(); for (;;) { RunnableWhichThrows<EX> r = it.next(); if (!it.hasNext()) { ThreadUtil.runInForeground(r); break; } stoppables.add(ThreadUtil.runInBackground(r, null)); } for (Stoppable stoppable : stoppables) stoppable.stop(); }
ThreadUtil.runInBackground(httpd, "httpd");
ThreadUtil.runInBackground(httpd, "httpd");
ThreadUtil.runInBackground(IoUtil.copyRunnable(socketInputStream, System.out), null); ThreadUtil.runInForeground(IoUtil.copyRunnable(System.in, socketOutputStream));
ThreadUtil.runInBackground(IoUtil.copyRunnable(socketInputStream, System.out), null); ThreadUtil.runInForeground(IoUtil.copyRunnable(System.in, socketOutputStream));
InetSocketAddress serverAddress = new InetSocketAddress(args[i++], Integer.parseInt(args[i++])); ThreadUtil.runInBackground(new FtpReverseProxy( endpoint, backlog,
ThreadUtil.runInBackground(new FtpServer(endpoint, backlog, new FileFtplett(new File("."))), null);
ThreadUtil.runInBackground(rp, Thread.currentThread().getName()); return rp.getEndpointAddress(); } catch (BindException be) {
InetSocketAddress serverAddress = new InetSocketAddress(args[i++], Integer.parseInt(args[i++])); ThreadUtil.runInBackground(new FtpReverseProxy( endpoint, backlog,
ThreadUtil.runInBackground(new FtpServer(endpoint, backlog, new FileFtplett(new File("."))), null);
); ThreadUtil.runInBackground(new ReverseProxy( endpoint, backlog,
); ThreadUtil.runInBackground(new ReverseProxy( endpoint, backlog,
ThreadUtil.runInBackground(rp, Thread.currentThread().getName()); return rp.getEndpointAddress(); } catch (BindException be) {
); ThreadUtil.runInBackground( new Runnable() {
); ThreadUtil.runInBackground( new Runnable() {