Protected access to shared data or shared resources
Returning values from a Thread
Thread local storage (thread_local)
Transfer ownership of threads at runtime
https://en.cppreference.com/w/cpp/thread/thread/thread
https://www.acodersjourney.com/top-20-cplusplus-multithreading-mistakes/
https://www.acodersjourney.com/c11-multithreading-tutorial-via-faq-thread-management-basics/
https://thispointer.com//c-11-multithreading-part-1-three-different-ways-to-create-threads/