Replacing std::thread with std::async for better thread balancing.  std:thread code extant, untouched, and commented out