10
votes

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

1

1 Answers

15
votes

_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.