Я запускаю код на ARM Raspbian Linux, Python 2.7.13 и amd64 Gentoo Linux, Python 2.7.14
У меня есть функция
import threading
def r() :
s = 1
while True:
s = s + 1
Тогда я создаю поток для этой функции
t = threading.Thread(target=r)
t.start()
И после этого в htop я вижу другой процесс (с собственным PID)! И обработка. В документации сказано:
Детали реализации CPython: В CPython из-за Глобальной блокировки интерпретатора только один поток может выполнять код Python одновременно (даже если некоторые ориентированные на производительность библиотеки могут преодолеть это ограничение). Если вы хотите, чтобы ваше приложение лучше использовало В вычислительных ресурсах многоядерных машин рекомендуется использовать многопроцессорность.
Почему это поведение отличается от документации?