thread_ = boost::thread( boost::function< void (void)>( boost::bind( &clientTCP::run , this ) ) );
bind
и * function
не нужны, и делают код медленнее и используют больше памяти.Просто сделайте:
thread_ = boost::thread( &clientTCP::run , this );
Чтобы добавить аргумент, просто добавьте аргумент:
thread_ = boost::thread( &clientTCP::run , this, f );