Сообщить об ошибке.

Трассировка и профилирование потоков модуля threading в Python

В этом размере рассмотрены функции трассировки и профилирования запущенных потоков модуля threading.

Содержание:


threading.settrace(func):

Функция threading.settrace() устанавливает функцию func трассировки для всех потоков, запущенных из модуля threading.

Функция будет передана в sys.settrace() для каждого потока перед вызовом его метода Thread.run().

threading.gettrace():

Новое в Python 3.10

Функция threading.gettrace() получает функцию трассировки, установленную в функции settrace().

threading.setprofile(func):

Функция threading.setprofile() устанавливает функцию func профилирования для всех потоков, запущенных из модуля threading.

Функция будет передана в sys.setprofile() для каждого потока перед вызовом его метода Thread.run().

threading.getprofile(func):

Новое в Python 3.10

Функция threading.getprofile() получает функцию профилировщика, установленную в функции setprofile().

threading.stack_size([size]):

Функция threading.stack_size() возвращает размер стека, используемый при создании новых потоков.

Необязательный аргумент size указывает размер стека, который будет использоваться для создаваемых впоследствии потоков, и должен быть равен 0 (по умолчанию) при использовании настроек платформы или положительное целочисленное значение не менее 32768 (32 КиБ).

  • Если size не указан, то используется 0.
  • Если изменение размера стека потока не поддерживается, возникает ошибка RuntimeError.
  • Если указанный размер стека недействителен, возникает ошибка ValueError и размер стека не изменяется.

Размер стека в 32 КиБ в настоящее время является минимальным поддерживаемым значением размера стека, чтобы гарантировать достаточное пространство стека для самого интерпретатора.

Обратите внимание, что на некоторых платформах могут быть определенные ограничения на значения размера стека, такие как требование минимального размера стека 32 КиБ или требование выделения, кратного размеру страницы системной памяти.

Для получения дополнительной информации следует обратиться к документации по платформе.

Примечание. Часто используются страницы в 4 КиБ. Использование кратного 4096 для размера стека является предлагаемым подходом в отсутствие более конкретной информации.

Доступность: Windows, systems with POSIX threads.

threading.settrace_all_threads(func):

Новое в Python 3.12

Функция threading.settrace_all_threads() устанавливает функцию трассировки func для всех потоков, запущенных из модуля threading, и всех потоков Python, которые выполняются в данный момент.

Функция func будет передана в sys.settrace() для каждого потока перед вызовом метода Thread.run().

threading.setprofile_all_threads(func):

Новое в Python 3.12

Функция threading.setprofile_all_threads() устанавливает функцию профилирования func для всех потоков, запущенных из модуля threading, и всех потоков Python, которые выполняются в данный момент.

Функция func будет передана в sys.setprofile() для каждого потока перед вызовом его метода Thread.run().