do as thread