我写了以下代码:
#include<iostream>
#include<pthread.h>
using namespace std;
void* func(void *i)
{
cout<<"in func "<<endl;
}
int main()
{
pthread_t threads[5];
for(int i=0;i<5;i++)
{
pthread_create(&threads[i], NULL, func, (void*)i);
cout<<"next for loop"<<endl;
}
pthread_exit(NULL);
return 0;
}
输出是: 从输出看来,第一次显示'next for loop'后的endl换行属性被延迟,'next for loop'和'in func'的endl一个接一个地执行。每次我运行程序时都会发生这种情况。你能告诉我这个延迟的原因吗?