在Python脚本中实现多线程

时间:2012-07-09 04:59:30

标签: python

我想创建一个python脚本来强调测试我的服务器。 所以我创建了这个基本的UDP flooder,我想我已经正常工作了。

我的问题是如何为此添加多线程? 我阅读了一篇关于Python线程的手册,但并不了解如何实际操作 将它实现到我的脚本中。

import socket
import random

print "Target:",
ipaddr = raw_input()

sent = 1
bytes = random._urandom(10000)
port = 1

while sent > 0:
    print "Test Started On", ipaddr, "|", sent, "Packets Sent. Press Ctrl+C To Stop."
    sent += 1
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(bytes,(ipaddr,port))
port = random.randint(1, 65500)

raw_input()

1 个答案:

答案 0 :(得分:1)

如果您将应用程序的业务部分提取到如下函数中:

def do_the_flooding():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.sendto(bytes,(ipaddr,port))

然后你可以在一个帖子中调用它:

import threading
t = threading.Thread(target=do_the_flooding)
t.start()