Junior — Middle
Оё имкон дорад, ки ҳамзамон 10 дархост фиристед, ҳар кадомаш 20 сония давом мекунад?
sobes.tech AI
Ҷавоб аз AI
Бале, дар Python имкон дорад, ки ҳамзамон 10 дархост фиристода шавад, ҳар яке 20 сония давом мекунад, бо истифода аз иҷрои параллел ё асинхронӣ. Масалан, бо модул concurrent.futures ва ThreadPoolExecutor, шумо метавонед чанд дархостро дар ҷӯйҳои алоҳида оғоз кунед:
import concurrent.futures
import time
import requests
def send_request(url):
response = requests.get(url)
return response.status_code
urls = ['http://example.com'] * 10
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
futures = [executor.submit(send_request, url) for url in urls]
for future in concurrent.futures.as_completed(futures):
print(future.result())
Ин рӯҳия имкон медиҳад, ки ҳама 10 дархостро тақрибан ҳамзамон фиристед, ва вақти умумӣ тақрибан 20 сония хоҳад буд, на 200. Ҳамчунин, шумо метавонед asyncio-ро бо китобхонаҳои HTTP-асинхронӣ истифода баред.