服务器多线程的疑问?该怎么解决

服务器多线程的疑问?
创建线程 CreateThread(0, 0, AcceptHandler, (void*)Socket, 0, &nThreadID);

中的 AcceptHandler 函数是个静态函数,

创建每个新线程时, 这个函数都要复制一份新的来运行吗?

为什么数据不会错乱呢?

请高人解答。

谢谢。




------解决方案--------------------
函数泡在不同的线程中。除非访问全局变量等,否则都是各个线程上的堆栈数据
------解决方案--------------------
函数是代码,没有数据,无所谓“乱”,只有数据才有乱的可能性。

而且,创建线程,多线程调用同一个函数,当然不必给每个线程复制一份代码,因为没有人会改动代码,代码只有一份大家用就可以了。

------解决方案--------------------
你线程中访问的是局部变量?有访问公共变量吗?
------解决方案--------------------
对于编译好的程序来说,函数都是全局的,并且是唯一的。

栈是每个线程一个。
------解决方案--------------------
除非线程使用的是全局数据,多个线程间才会出现资源竞争,因此要加锁。