1

pthread_join呼び出しを行わず、O (時間実行) スレッドを持つ C++ アプリケーションがあります。私の質問は、これがサーバー タスクの状態にどのように影響するかということです。C++ タスクがクラッシュするか、新しいスレッドの開始に失敗する前に保持できる固定数のスレッドはありますか? これは にエラー コードとして現れますpthread_createか? メモリがリークするだけですか、それとも残りのアプリケーションの処理時間が遅くなりますか?

スレッドは終了しています (トップレベル関数が返されています) pthread_join

4

1 に答える 1

4

POSIXマニュアルには、pthread_create戻ることができると書かれていEAGAINます。

システムに別のスレッドを作成するために必要なリソースが不足していたか 、プロセス{ }内のスレッドの総数に対するシステムが課した制限をPTHREAD_THREADS_MAX超えてしまいます。

pthread_detach簡単な修正は、属性とを使用して、または使用して、スレッドを切り離したものとしてマークすることですpthread_attr_setdetachstate。そして、彼らが死ぬとき、彼らはただ集められます。

于 2012-06-03T20:04:46.057 に答える