int size = 600;// к примеру vector<Thread> vecTh ( size ); vector<Thread>::iterator it = vecTh.begin(), end = vecTh.end(); for ( ; it != end ; ++it ) it->start ( <что то> ); for ( it = vecTh.begin() ; it != end ; ++it ) it->join(); vecTh.clear(); Вот так можно? тут нет ничего противоестественного?