A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
I think that you should use std::thread and other classes from STL, because they are designed to take care about different details and initialisations. The implementation uses _beginthreadex internally, which invokes CreateThread (in Windows), according to available sources. The code that uses std::thread will also work in different Operating Systems.