static boolean run(int size, int threads, ExpansionStrategy strategy, long tolerance) { OwnerManager.init(threads, strategy); createConnector(size, threads); PairwiseAsynchrounous.pending = size; PairwiseAsynchrounous.start = System.currentTimeMillis(); PairwiseAsynchrounous.thread = Thread.currentThread(); try { OwnerManager.go(); Thread.sleep(tolerance); thread = null; // killed inactive threadpool OwnerManager .kill(); // threads in the pool throw RejectedExecutionException when cancelling tasks. // System.out.print("-"); // interruptToContinue.interrupt(); return false; } catch (InterruptedException e) { // successful execution! OwnerManager.kill(); // throws RejectedExecutionException to cancelled tasks. System.out.print("."); ; return true; } catch (RejectedExecutionException e) { System.out.print("** "); return false; } }