Команда list-threads перечисляет все запущенные в данный момент потоки.
В полученном буфере каждый поток идентифицируется либо именем,
переданным в make-thread (см. Основные функции потоков),
либо его уникальным внутренним идентификатором, если он не был создан с именем.
Показывается статус каждого потока на момент создания или последнего обновления
буфера, в дополнение к объекту, на котором поток был заблокирован в этот момент, если он был заблокирован.
Буфер *Threads* будет автоматически обновляться два раза в секунду. Вы можете ускорить или замедлить частоту обновления, настроив эту переменную.
Ниже приведены команды, доступные в буфере списка потоков:
Показать трассировку стека потока в текущей точке. Это покажет, где в его коде поток приостановился или был заблокирован в момент нажатия b. Обратите внимание, что трассировка стека — это снимок; в это время поток мог возобновить выполнение, находиться в другом состоянии или завершиться.
Вы можете использовать g в буфере трассировки стека потока, чтобы получить обновленную трассировку стека, так как буферы трассировки стека не обновляются автоматически. См. Трассировки стека для описания трассировок стека и других команд, работающих с ними.
Послать сигнал потоку в текущей точке. После s введите q, чтобы отправить сигнал выхода, или e, чтобы отправить сигнал ошибки. Потоки могут реализовывать обработку сигналов, но поведение по умолчанию — выйти при любом сигнале. Поэтому используйте эту команду только в том случае, если вы понимаете, как перезапустить целевой поток, поскольку ваша сессия Emacs может работать некорректно, если необходимые потоки будут завершены.
Обновить список потоков и их статусы.