Python根据Windows任务管理器在socket.connect()上生成线程

时间:2012-02-14 02:20:30

标签: python windows sockets

执行后:

from socket import *
s = socket(AF_INET, SOCK_STREAM)
s.connect(('www.example.com', 80))

Windows任务管理器报告的线程数量从1跳到4.我的Python版本是Python 2.7.2(默认,2011年6月12日,15:08:59)[MSC v.1500 32位(英特尔) )]在win32上。

我正在跟踪一个更大的错误,导致一个简单的reduce()与原始参数挂起,并发现了这一点。

我已经检查了Python的socket.py,它不包含对线程模块的任何引用。我还浏览了相关的C源文件,对于这种行为我仍然一无所知。

在成功连接之前似乎没有产生产卵。如果传递IP地址而不是域名,则不会产生产卵。 如果('127.0.0.1',some_port)作为目标地址传递 - 但是使用一个额外的线程而不是3,则会发生产卵。

为什么这样,线程是在一个简单的socket.connect()上生成的?这是正常的吗?

0 个答案:

没有答案