【发布时间】:2021-04-05 12:24:14
【问题描述】:
我编写了一个程序,它使用 concurrent.futures 启动 4 个线程并向列表中的每个网站发送请求。
问题:它只是没有启动
import requests
import threading
import concurrent.futures
list=['amazon.com', 'google.com', 'youtube.com', 'microsoft.com']
def start(url):
requests.get('https://'+url)
print(line+' finished')
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
for url in list:
executor.submit(start, url)
另一方面,这有效:
import concurrent.futures
def start():
print('lol')
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
for i in range(10):
executor.submit(start)
【问题讨论】:
-
print(line+'finished') - 我错了还是这里没有定义可变行?
-
是的,这是真的,谢谢。现在它正在为此代码工作,但它没有显示任何错误消息。我该如何改变呢?
-
如果您的代码正常运行,它不会显示任何错误,如果您想在每次请求后添加消息,您应该编写如下内容: print('{} finished'.format(url))
标签: python multithreading concurrent.futures