multithread如何写
这是我第一次写multithread,所以就是照着例子学,下面是我用来学的例子
来自于”Automate the boring stuff with Python”的15.6
import threading, time
print "Start of the program"
def takeANap():
time.sleep(5)
print "Wake up!"
thread1 = threading.Thread(target = takeANap)
thread1.start()
print "End of the program"
OK, 这个小程序的结果会是End of… 这一句先print出来,然后Wake up再出现,其实”Automate the boring….”这本书里对多线程就讲了两个例子,这是第一个,第二个是讲了如何向多线程传递参数,但是看完之后发现对今天的程序帮助不大,因为今天的程序有很大的一部分困难就是print造成的,那么下面就说说源程序的需求和第一次失败的尝试。
以一个多线程print的程序为例子
需求:
使用多线程,在三台不同的路由器上,show arp并输出
问题:
很明显,输出会messed up, 因为线程各自有快有慢
初步想到的方法
可以把两个的结果存到外部文件,然后有条理的读取,然后有条理的print。我认为这样是可行的,但是这样显然练习不到multithread的特征,因为multithr