My suggestion takes CPU count into account. What I'm proposing is exactly (in terms of code):

  double load;
  getloadavg(&load, 1); 

  return std::min(load / base::SysInfo::NumberOfProcessors(), 1.0);