threads: add waiting_on()