I am currently writing a connection manager for a stress test in Python it seems my queue is never filling up. This pseudoesque-code will explain it better than I can:
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 i开发者_StackOverflow中文版s 0
Can anyway explain why my queue has a size of 0?
Regarding processQueue.qsize
, note that the docs say :
Definition: processQueue.qsize(self)
Docstring:
Return the approximate size of the queue (not reliable!).
so you shouldn't rely on qsize
to tell you if the queue is empty.
Also, since you may be reaching the line processQueue.qsize
before the processQueue.put
is called, the queue may indeed be empty at that moment but not empty forever.
精彩评论