После выполнения:
from socket import *
s = socket(AF_INET, SOCK_STREAM)
s.connect(('www.example.com', 80))
Количество потоков, как сообщает диспетчер задач Windows, увеличивается с 1 до 4. Моя версия Python - Python 2.7.2 (по умолчанию, 12 июня 2011, 15:08: 59) [MSC v.1500 32 бит (Intel)] на win32.
Я отслеживаю более крупную ошибку, которая приводит к зависанию простого метода lower () с примитивными параметрами, и обнаружил это.
Я изучил файл Python для socket.py, и он не содержит ссылок на потоковый модуль.Я также пролистал соответствующие исходные файлы на языке Си и до сих пор не понимаю, как это происходит.
Похоже, что нерест не происходит до успешного соединения.Нерест не происходит, если вместо имени домена передается IP-адрес.Возникновение происходит, если ('127.0.0.1', some_port) передается в качестве целевого адреса - но с одним дополнительным потоком вместо 3.
Почему это так, что потоки создаются в простом socket.connect()?Это нормально?