code: def clear(self):
          
          with self._cond:
              to_notify = self._initial - self._value
              self._value = self._initial
              self._cond.notify(to_notify)
docs: Release the semaphore of all of its bounds, setting the internal
          counter back to its original bind limit. Notify an equivalent amount
          of threads that they can run.