main() とは別に、func1 と func2 という 2 つの関数が定義されている .cpp ファイルがあります。func2 は、次の方法で呼び出されるスレッドの関数です。
void func1()
{
//code here
pthread_create(&thread1, NULL, func2, (void*)arg);
}
したがって、関数 func1 を終了する前に func2 を呼び出します。ここで、func2 が終了するとすぐに func1 が自動的に呼び出されるようにしたいと考えています。これを達成するために、func2 の最後に単に func1 を呼び出すことはできないことに注意してください。これは、func2 が終了する前に func1 を呼び出すことを意味するためです。また、スレッドが終了する前に (pthread_cleanup_push を使用して) 呼び出されるハンドラーを使用してから、そのハンドラーで func1 を呼び出すことはできません。そのハンドラーは、スレッド (つまり、func2) が終了する前に実行されるためです。