1
我有一个多处理代码,用于在特定情况下搜索数据库记录,当它到达数据库的末尾时,循环必须停止,我该怎么做?这里是代码:如何退出Python多重处理循环?
import psycopg2
from multiprocessing import Pool
conn = psycopg2.connect(a database)
query=conn.cursor()
query.execute(some query)
def scanfile():
try: row=query.fetchone()
except: return False #here the loop must stop
#do something with row...
if __name__=='__main__':
pool=Pool()
while True:
pool.apply_async(scanfile)
pool.close()
pool.join()
这听起来像个坏主意。检查http://initd.org/psycopg/docs/usage.html#thread-and-process-safety – 2011-03-17 19:43:16
到目前为止,它工作,它抓住行,并与它做事,但程序永远不会完成。 – Pablo 2011-03-17 19:46:38