<ブロック引用> シングル スレッドにする場合は、
それ以外の場合は、1 つを除くすべてのスレッドが最後のスレッドの前に終了していることを確認してから、安全に
Linux
プロセスを終了させる最善の方法は?
<オール>exit()
を使用します。 、コードがマルチスレッド化されていないためです。exit()
を呼び出します 上記の 1. のため電源/ハードウェアの障害がいつでも発生する可能性があることを考えると、多くの非自明なマルチスレッド アプリで、ユーザー コードを使用してスレッドを確実に終了することが非常に困難であり、メモリ プールなどを使用することの無秩序な性質があるため、設計することをお勧めします。シャットダウンを細かく管理しようとするのではなく、起動時に一時ファイルなどを消去できるアプリやシステム。
「終了する前に、割り当てたすべてのリソースをクリーンアップする」は、教室や講義での適切なアドバイスのように聞こえますが、絶え間なく変化する動的システムで多数のスレッド、キュー、およびプールに直面すると、すぐにアホウドリの鎖全体が首にかかります。
可能であれば、重要な OS で実行している場合は、その仕事とクリーンアップを任せてください。ユーザー コードよりもはるかに優れています。