多进程的繁殖。进程在Python中未正确填充队列

多进程的繁殖。进程在Python中未正确填充队列,python,multiprocessing,Python,Multiprocessing,我目前正在用Python编写一个压力测试的连接管理器,似乎我的队列从来没有填满过。这段伪代码比我能解释得更好: def wget(processQueue) currProcess = subprocess.Popen(./wget) processQueue.put(currProcess) def connection(processQueue) process = multiprocessing.Process(target=wget, args=(process

我目前正在用Python编写一个压力测试的连接管理器,似乎我的队列从来没有填满过。这段伪代码比我能解释得更好:

def wget(processQueue)
    currProcess = subprocess.Popen(./wget)
    processQueue.put(currProcess)

def connection(processQueue)
    process = multiprocessing.Process(target=wget, args=(processQueue,))
    process.start()

processQueue = Queue.Queue()
newConnection = multiprocessing.Process(target=connection, args=(processQueue,))
newConnection.start()
processQueue.qsize() # This is 0

您能解释为什么我的队列大小为0吗

关于
processQueue.qsize
,请注意文档中说:

Definition: processQueue.qsize(self)
Docstring:
    Return the approximate size of the queue (not reliable!).
因此,您不应该依靠
qsize
来告诉您队列是否为空


另外,由于您可能在调用
processQueue.put
之前到达行
processQueue.qsize
,因此此时队列可能确实为空,但不会永远为空

如果我有很多参数,例如:args=(用户名、密码、url、processQueue),会发生什么。。。这仍然适用吗?另外,我没有意识到Queue.Queue和multiprocessing.Queue之间的区别!