public void start() {
		Set<Future<?>> threads = new HashSet<Future<?>>();
		for(FiniteWorker<T> worker : workers) {
			threads.add(executor.submit(worker));
		}
		try {
			latch.await();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		for(Future<?> thread : threads) {
			thread.cancel(true);
		}
	}