有需要睡10秒的功能。但与此同时,我不希望它阻止我的主要功能。怎么处理? 我试着这样做。但是,它仍然阻止了我的主要功能。
def tester():
pool.size=2;
pool=multiprocessing.Pool(pool_size);
pool.apply_async(send_mail, args=("test",));
pool.close();
pool.join();
print "email is done";
主函数将调用此函数。
答案 0 :(得分:1)
pool.join();
是你的阻挡者。删除它不阻止。
https://docs.python.org/2/library/multiprocessing.html#multiprocessing.Process.join
编辑:
import threading
print "start"
th = threading.Thread(target=tester)
th.daemon = False
print "thread start"
th.start()
print "executing other code"
答案 1 :(得分:0)
不确定您使用Pool的原因。您正在产生2个子流程以发送一封电子邮件?那么只产生一个过程呢?以下内容应该让您入门。 (我把#34;睡觉(30)"你实际上称之为send_mail)
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;