c++ async experiment