Lo Stack è univoco per thread. E' l'heap che è condiviso.
E comunque è bene usare la _beginthreadex in C.

http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx
...
A thread in an executable that calls the C run-time library (CRT) should use the _beginthreadex and _endthreadex functions for thread management rather than CreateThread and ExitThread; this requires the use of the multi-threaded version of the CRT. If a thread created using CreateThread calls the CRT, the CRT may terminate the process in low-memory conditions.