次のように、宣言されたpthread_t構造体があるとします。
pthread_t newThread;
そして、私は電話します:
pthread_join(&newThread, NULL, myMethod, NULL);
pthread_join()は何をしますか?
ISO Cによると、newThread
変数は「不確定な値のオブジェクト」であり、これを使用すると未定義の動作がトリガーされます。CPU例外をトリガーする「トラップ表現」を持つことができます。
または、そのタイプのランダムな値として解釈される場合もあります。これは、APIが2つの方法のいずれかで処理できます。そのようなスレッドがなく、ESRCH
返されるか、またはまぐれによってそのようなスレッドがあります。次に、さまざまなケースが発生します。参加可能かどうかなどです。
初期化されていないpthread_tでpthread_joinを呼び出すと、動作は未定義になります。