3

次のように、宣言されたpthread_t構造体があるとします。

pthread_t newThread;

そして、私は電話します:

pthread_join(&newThread, NULL, myMethod, NULL);

pthread_join()は何をしますか?

4

2 に答える 2

4

ISO Cによると、newThread変数は「不確定な値のオブジェクト」であり、これを使用すると未定義の動作がトリガーされます。CPU例外をトリガーする「トラップ表現」を持つことができます。

または、そのタイプのランダムな値として解釈される場合もあります。これは、APIが2つの方法のいずれかで処理できます。そのようなスレッドがなく、ESRCH返されるか、またはまぐれによってそのようなスレッドがあります。次に、さまざまなケースが発生します。参加可能かどうかなどです。

于 2012-04-18T01:42:33.273 に答える
2

初期化されていないpthread_tでpthread_joinを呼び出すと、動作は未定義になります。

于 2012-04-18T01:40:13.397 に答える