【发布时间】:2016-01-22 08:50:08
【问题描述】:
我编写应用程序来检查在MongoDB 中选择值时的性能。
并计算完成时的时间。
但我的应用程序显示的结果类似于随机字符,而不是下线 (\n)。 像这样:the images show my console when run application
更新: 我改变了我的代码。但这对我也不起作用。
import sys
import os
from pymongo import MongoClient
import random
import pymongo
import time
from datetime import datetime
import multiprocessing
def mongoSelectStatement(result_queue):
client = MongoClient('mongodb://localhost:27017')
db = client.random
cursor = db.random.find()
for document in cursor:
result_queue.put(document)
def main():
processes = []
result_queue = multiprocessing.Queue()
startTime = datetime.now()
for i in range(100):
p = multiprocessing.Process(target=mongoSelectStatement, args=[result_queue])
p.start()
processes.append(p)
print "Doi ket qua tra ve..."
result = result_queue.get()
for p in processes:
p.terminate()
endTime = datetime.now()
print "Kqua tra ve: ", result, ' trong thoi gian ', (endTime - startTime)
if __name__ == '__main__':
main()
【问题讨论】:
-
当多个进程写入同一个输出流时会发生这种情况...
-
如何避免?我在使用
multiprocessing时总是遇到问题