关于用AfxBeginThread的执行顺序的有关问题

关于用AfxBeginThread的执行顺序的问题
AfxBeginThread(MessageThread1,"Thread is started");
AfxBeginThread(MessageThread2,"Thread is started");
这两个语句执行顺序好像不是先第一句然后第二句,我写程序的过程中发现是先执行第二句然后第一句。
关于这个原理谁能解释一下

------解决方案--------------------
引用:
引用:

AfxBeginThread(MessageThread1,"Thread is started");
肯定是首先执行的。
AfxBeginThread(MessageThread2,"Thread is started");
肯定是次要执行的。

但是首先执行 不一定这个线程的函数体就一定在第一时间获取到CPU的执行时间片。假设你开100……


不存在 先挂起的后被叫起这种必然的情况。感觉你没有理解操作系统的调度 具有一定的随机性。

我建议你可以写个简单的程序 比如控制台程序,然后启动100个线程,让他们打印出自己的线程id号,然后换台电脑试试。

你会发觉其实随着调度的不同,其运行的顺序具有随机性(当然不排除同一台电脑有时候总是同一结果,遇到这种情况,你可以对比同一个程序在两个不同的电脑上的执行结果)。