introduce JoinThreadControl