title: C++ std::async run on main thread
body: <p>IS there a way of running a function back on the main thread ?</p>
  
  <p>So if I called a function via Async that downloaded a file and then parsed the data. It would then call a callback function which would run on my main UI thread and update the UI ? </p>
  
  <p>I know threads are equal in the default C++ implementation so would I have to create a shared pointer to my main thread. How would I do this and pass the Async function not only the shared pointer to the main thread but also a pointer to the function I want to rrun on it and then run it on that main thread ?</p>