以下のコードを実行すると、スレッド 0 とスレッド 1 の間でシェル出力が重複する可能性があります。そのため、各スレッドが他のスレッドが出力を開始する前に出力の書き込みを終了するようにする最善の方法は何ですか?
これにより、出力がクリーンであることを確認できます。
よろしくお願いします!
#pragma omp parallel num_threads(2) shared(emperor)
{
#pragma omp sections
{
#pragma omp section
{
cout << "Open the listening thread by using openmp!" << endl;
emperor->startServerListening(); /// does some work
}
#pragma omp section
{
cout << "Open the master thread by using openmp!" << endl;
emperor->startServerCoupling(); /// does some other work
}
} /// End of sections
} /// End of parallel section