Sobes.tech
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-асинхронӣ истифода баред.