前段时间写了篇文章,Python带协议头(headers)暴力注册MM电话代码,虽然用python实现了,但是因为是单线程的速度很慢。所以想能不能用多线程实现呢?
在参考了很多资料,终于知道怎么使用python多线程的模块:threading
先来看这段代码:
import threading
import timedef worker():
print “worker”
time.sleep(1)
returnfor i in xrange(5):
t = threading.Thread(target=worker)
t.start()
这段代码就使用了多线程,但是没法传递参数,而实际使用多线程,往往是需要传递参数的,于是问了一位群里的网友后,知道可以这么写实现传递参数的多线程:
import threading
import timedef worker(number):
print “worker”
time.sleep(number)
returnfor i in xrange(5):
t = threading.Thread(target=worker,args=(i,))
t.start()
第一个参数是线程函数变量,第二个参数args是一个数组变量参数,如果只传递一个值,就只需要i, 如果需要传递多个参数,那么还可以继续传递下去其他的参数,其中的逗号不能少,少了就不是数组了,就会出错。