list-threads
コマンドは、現在生存しているすべてのスレッドを一覧表示します。結果のバッファでは、各スレッドは make-thread に渡された名前(基本スレッド関数
を参照)、または名前を指定して作成されていない場合はその一意の内部識別子によって識別されます。バッファの作成時または最終更新時点における各スレッドの状態に加え、ブロックされていた場合はそのブロック元のオブジェクトも表示されます。
*Threads* バッファは1秒間に2回自動的に更新されます。この変数をカスタマイズすることで、更新頻度を上げたり下げたりできます。
スレッド一覧バッファで利用可能なコマンドは以下の通りです。
時点におけるスレッドのバックトレースを表示します。これにより、b を押した瞬間に、スレッドがコードのどこで yield していたか、あるいはブロックされていたかが分かります。なお、バックトレースはスナップショットであることにご注意ください。その間にスレッドが実行を再開して別の状態になっていたり、あるいは終了していたりする可能性があります。
バックトレースバッファは自動的に更新されないため、スレッドのバックトレースバッファで g を使用して最新のバックトレースを取得できます。バックトレースの説明や、バックトレースに対して動作するその他のコマンドについては、バックトレースを参照してください。
スレッドに特定のタイミングでシグナルを送信します。s の後に q と入力すると終了シグナルを、e と入力するとエラーシグナルを送信できます。スレッドでシグナル処理を実装することも可能ですが、デフォルトの動作はいかなるシグナルでも終了することです。したがって、必要なスレッドが強制終了されると Emacs セッションが正しく動作しなくなる可能性があるため、ターゲットスレッドの再起動方法を理解している場合にのみ、このコマンドを使用してください。
スレッドの一覧とそのステータスを更新する。