我在python中与multiprocessing
模块有点混淆。到目前为止,在我的代码中,我想为generate_pings()函数创建一个单独的进程,因此该进程独立于main函数中的主进程运行。
但是当我打印出来时,所有的generate_pings()输出首先出现,然后计数到999.如何让它们同时运行?我尝试过使用线程模块,但它让我感到困惑。
同样,我何时才使用.join()?
由于
import multiprocessing
#generate pings so packets are moving, have this running in a separate thread
def generate_pings():
count = 0
while count < 1:
ping_respose = subprocess.call(["ping -c 50 -i 0.1 weissmanscore.com"], shell=True)
count+=1
return
def main():
print "welcome"
try:
p = multiprocessing.Process(target=generate_pings)
p.start()
except:
print "Error: unable to start thread"
p.join()
i = 0
while i < 1000:
print i
i+=1
if __name__ == '__main__':
main()