use executor to notify waiting threads