Windows – _beginthread vs CreateThread

cmultithreadingwindows

What is the difference between CreateThread and beginthread APIs in Windows? Which one is preferrable for thread creation?

Best Answer

_beginthread() and _beginthreadex() was required by earlier versions of the Microsoft CRT to initialize thread-local state. The strtok() function would be an example. That's been fixed, that state now gets dynamically initialized, at least since VS2005. Using CreateThread() no longer causes problems.