为什么在我机器上结果不一样?
程序很简单:
#include <boost/thread.hpp>
#include <iostream>
using namespace std;
using namespace boost;
void HelloWorld()
{
char* pc = "Hello World!";
do
{
cout <<*pc;
}while(*pc++);
cout <<endl;
}
void NormalFunThread()
{
thread loThread1(HelloWorld);
thread loThread2(HelloWorld);
HelloWorld();
Sleep(100);
}
int main()
{
NormalFunThread();
return 0;
}
是从别人帖子里抄来的。帖子说运行结果类似这样:
HHeellloHl eoWl olWrool rdWl!od
l d
!
可是在我机器上,是这样:
Hello World!
Hello World!
Hello World!
这是为什么?是因为我的机器不是多核的原因么?
好多类似的多线程例程,我都跑出个与书上大不同的结果。
谢谢!