次のコードを書きました。
#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 が次々に実行されるようです。これは、プログラムを実行するたびに発生しました。この遅れの理由を教えていただけますか?