Python多处理,代码继续执行?

Varun Verma
from multiprocessing import Process , Queue
from datetime import datetime

c = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27]
out = Queue()
def support(m):
    for k in m :
        print "%s <-- hi" % k
    out.put("done")

all = Queue()
temp = []
total = len(c)
count = 0
for m in c :
        count += 1
        total = total - 1
        temp.append(m)
        if count == 5 or total == 0 :
                all.put(temp)
                count = 0
                temp = []

process_count = 3

while all.qsize() != 0 :
    process_list = []
    try :
        for x in range(process_count) :
            p = Process(target=support, args=(all.get(),))
            process_list.append(p)

        for p in process_list :
            p.start()
        for p in process_list :
            p.join()        
    except Exception as e :
       print e

while out.qsize != 0 :
    print out.get()


print "all done"

我不知道为什么它不结束并且不打印“ all done”,只是连续不断地循环或继续执行。如果您可以使此代码更有效,将有很大帮助,但首先我想知道为什么它没有结束。

马丁·图尔诺伊(Martin Tournoij)

问题是:

while out.qsize != 0 :
    print out.get()

out.qsize是一个函数,因此现在您要比较的是函数本身(而不是返回值!)0,当然总是带有False

您应该使用:

while out.qsize() != 0 :
    print out.get()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python多线程与多处理与顺序执行

来自分类Dev

执行之间的python多处理睡眠

来自分类Dev

python多处理/线程代码提前退出

来自分类Dev

Python 多处理代码未启动

来自分类Dev

Python多处理池,加入;等不及要继续?

来自分类Dev

Python多处理池,加入;等不及要继续?

来自分类Dev

如何在Python中为单个函数执行多处理?

来自分类Dev

通过Python多处理队列执行Cassandra插入查询

来自分类Dev

Python多处理同时执行更多无限循环

来自分类Dev

python多处理。长时间执行后池卡住了

来自分类Dev

在大文件 Python 上执行多处理的最佳方法

来自分类Dev

Python代码覆盖率和多处理

来自分类Dev

Python多处理队列使代码因大数据而挂起

来自分类Dev

转换嵌套循环Python代码以使用多处理池

来自分类Dev

Python多处理冻结

来自分类Dev

Python 3.4多处理

来自分类Dev

Python多处理同步

来自分类Dev

Python多处理锁

来自分类Dev

Python多处理输出

来自分类Dev

Python-多处理

来自分类Dev

Python多处理调度

来自分类Dev

Python多处理for循环

来自分类Dev

Python多处理For循环

来自分类Dev

Python多处理变量

来自分类Dev

Python多处理IndexError

来自分类Dev

Python 编程:多处理

来自分类Dev

python脚本的多处理

来自分类Dev

如何处理for循环中的错误(python)并继续执行

来自分类Dev

Python Thread Loop方法不会继续执行代码