私はPOSIXスレッドの実装が比較的新しいので、わからないコーナーケースの動作があります。pthread_detachは既存の結合子がある場合の動作
私の理解によれば、結合可能なpthreadをpthread_deatch()で呼び出して、それを切り離すことができます。
スレッドが切り離された後、システムによって解放されたリソースを持つために誰かが参加するのを待つ必要はありません。
私の質問は、スレッドBが作成された後に、結合可能なスレッド(スレッドBと呼ぶ)がスレッド(スレッドAと呼ぶことができます)によって結合された場合です。また、スレッドAが結合されたときにスレッドBが実行中であったと仮定し、スレッドBがその実行を終了するまでスレッドAを中断させる。一方、スレッドCはスレッドBでpthread_deatch()を呼び出しました。
このようなシナリオでは、スレッドBが終了するのを待っている状態のスレッドAはどうなりますか?スレッドBは実行を継続し、スレッドAは起動されてBの戻り値をフェッチしますか?またはスレッドBが切り離されているとすぐにスレッドAが起動されていますか?