Python 并发编程:线程、进程与调度
1. 线程编程基础
在 Python 中,线程是实现并发编程的一种方式。以下代码展示了如何创建一个线程池来执行arping操作:
worker.start() #spawn pool of arping threads for i in range(num_arp_threads): worker = Thread(target=arping, args=(i, out_queue)) worker.setDaemon(True) worker.start() print "Main Thread Waiting" #ensures that program does not exit until both queues have been emptied in_queue.join() out_queue.join() print "Done"运行这段代码时,会输出每个线程的执行信息,以及 IP 地址和对应的 MAC 地址信息。使用队列模块可以让线程的使用更加简单和安全,这是一种值得掌握的重要技术。
2. 线程的定时执行
Python 的threading模块提供了Timer类,可以方便地实现线程的定时执行。以下是一个示例:
#!/usr/bin/env python from threading impor