スレッド環境で使用しても安全なライブラリへのリンクを要求します。
ユーザーが独自に低レベルのスレッド管理を行う場合 (たとえば、libthread ライブラリを呼び出す場合) は、-mt を使用してコンパイルすると、衝突を防ぐことができます。
libthread ライブラリを呼び出すマルチスレッド C コードと Fortran を併用する場合は、-mt を使用します。Solaris の『マルチスレッドのプログラミング』も参照してください。
-autopar、-explicitpar、または -parallel のオプションを使用すると、自動的に -mt の機能が有効になります。
次の点に注意してください。
-mt を使用するときは、入出力を伴う関数の副プログラム自体を入出力文の一部として参照することはできません。このような入出力は、再帰入出力と呼ばれ、デッドロックの原因になることがあります。
一般的な注意として、ユーザー独自でマルチスレッド化したコードを -autopar、-explicitpar、または -parallel オプションを付けてコンパイルしないでください。コンパイラが生成するスレッドライブラリへの呼び出しとプログラム自体の呼び出しが衝突して、予測できない結果になることがあります。
シングルプロセッサシステムの場合、-mt オプションを付けるとパフォーマンスが低下することがあります。