Список потоков
Команда list-threads отображает все активные потоки. В результирующем буфере каждый поток идентифицируется либо именем, переданным в make-thread (см. Основные функции потоков), либо его уникальным внутренним идентификатором, если он не был создан с именем. Отображается состояние каждого потока на момент создания или последнего обновления буфера, а также объект, на котором поток был заблокирован, если таковой был.
- Переменная: thread-list-refresh-seconds
Буфер *Потоки* будет автоматически обновляться дважды в секунду. Вы можете изменить частоту обновления, настроив эту переменную.
Ниже приведены команды, доступные в буфере списка потоков:
- b
-
Отобразить трассировку стека для потока в текущей точке. Это покажет, где в его коде поток приостановился или был заблокирован в момент нажатия клавиши b. Имейте в виду, что трассировка стека — это моментальный снимок; поток может за это время возобновить выполнение и оказаться в другом состоянии или завершиться.
В буфере трассировки стека потока можно использовать g, чтобы получить обновлённую трассировку стека, поскольку буферы трассировки стека не обновляются автоматически. См. Трассировки стека для описания трассировок стека и других команд, работающих с ними.
- s
-
Отправить сигнал потоку в текущей точке. После s, введите q, чтобы отправить сигнал завершения, или e, чтобы отправить сигнал об ошибке. Потоки могут реализовывать обработку сигналов, но по умолчанию они выходят при любом сигнале. Поэтому используйте эту команду только в том случае, если вы понимаете, как перезапустить целевой поток, так как ваша сессия Emacs может работать неправильно, если необходимые потоки будут убиты.
- g
Обновить список потоков и их состояния.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/The-Thread-List.html