多线程中printf与输入输出流的区别?

铭毅天下 铭毅天下 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

int g_cnt;
unsignedint _stdcall ThreadProc1(PVOID lpParameter)
{
g_cnt++;
printf("subThreadis running! g_cnt = %d\n",g_cnt);
// cout << "subThread is running!g_cnt = " << g_cnt << endl; //此处和printf打印在多线程操作中的区别?
return 0;
}

int main()
{
g_cnt = 0;
const int nThreadNum = 5;
HANDLE hThread1[nThreadNum];
//Caution...!
for( int i=0; i < nThreadNum; i++)
{
hThread1[i]=(HANDLE)_beginthreadex(NULL,0,ThreadProc1,NULL,0,NULL);
}
WaitForMultipleObjects(nThreadNum,hThread1,true,INFINITE);

_endthreadex(0);
return 0;

}

-------------------------------------------------------------------*/
问题:写多线程上述操作最基本实例的时候,发现了用printf能正常逐行打印输出,而用cout<<输出流则出现并行输出的现象,大牛们解释一下为什么?谢谢! 2012-8-27pm20:00
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
铭毅天下
铭毅天下 领域专家: 大数据技术领域 领域专家: 大数据技术领域
进程/线程/DLL 15,465 成员 49,169 内容