读取1行。每个线程

时间:2019-06-22 18:19:39

标签: python python-3.x multithreading

不久前,我有一个简单的脚本来查找网站的面板。我想再次尝试使用线程来执行此操作,但过了一会儿,我被卡住了。

我的代码使用2个路径文件来创建一个具有所有组合的文件,并将其放在“结果”变量中。

我不明白如何(如果可以)使每个线程占用文件的一行并执行应有的功能。

# variable with site + word combination

results = [site+word for site in sites for word in words]

for line in results:
    line2 = str(line)


def run(n, name):
    print(' {}. '.format(line2))

    # request... status code ecc...

    time.sleep(n)
    print('{} finish'.format(line2))


start = time.time()
for i in range(5):
    t = threading.Thread(target=run, name='thread{}'.format(i)
                         , args=(3, 'thread{}'.format(line2)))

    thread_list.append(t)
    t.start()
    print('{} è partito'.format(t.name))



for t in thread_list:
    t.join()

end = time.time()
print("time taken : {}".format(end-start))

输出:

Hi http://uno.com/santissimo. 
thread0 go
Hi http://uno.com/santissimo. 
thread1 go
Hi http://uno.com/santissimo. 
thread2 go
Hi http://uno.com/santissimo. 
thread3 go
Hi http://uno.com/santissimo. 
thread4 go
[OK]
200
[OK]
200
[OK]
200
[OK]
200
[OK]

我希望我的线程取结果var的1行,然后开始执行run函数。我要去哪里错了?

0 个答案:

没有答案