public void notifyThreadFree(final Thread thread){
  if (thread == null) {
    return;
  }
synchronized (activationLock) {
synchronized (mainLock) {
      busyThreadSet.remove(thread);
      if (isReadyToShutdown()) {
        mainLock.notifyAll();
        timeoutPassed=false;
      }
    }
  }
}

public void notifyThreadFree ( final Thread thread ) { if ( thread == null ) { return ; } synchronized ( activationLock ) { synchronized ( mainLock ) { busyThreadSet . remove ( thread ) ; if ( isReadyToShutdown ( ) ) { mainLock . notifyAll ( ) ; timeoutPassed = false ; } } } }
remove a specified thread from the set of busy event dispatch threads . if this set doesn ' t contain the specified thread or the thread is null , the call leaves this set unchanged and returns silently .
