synchronized(mutex) { running=false; mutex.notifyAll();
if(Util.acquire(lock)) { try { running=false; mutex.broadcast(); } finally { Util.release(lock); }
    public void stop() {        super.stop();        synchronized(mutex) {            running=false;            mutex.notifyAll();        }    }