max_workers=8 аткарылуучу жиптерди чектейт. Бирок чоң кирүүдө өзүнчө жөнөтүү циклинен ар бир акыркы чекит үчүн Future түзүүсүнө тоскоол болбойт.

Python 3.14 чектелген алдын ала окуу параметрин кошот:

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(max_workers=8) as executor:
    for result in executor.map(check_proxy, endpoints, buffersize=24):
        record_result(result)

check_proxy тармактык мөөнөттөр жана тазалоо менен болгон учурдагы синхрондук текшерүү; record_result анын кайтарган байкоосун иштетет. 8 жана 24 маанилери үлгү бюджети. бекер прокси тизмеси акыркы чекиттер үчүн коомдук талапкерлерди сунуштайт; check_proxy туура транспортту колдонушу үчүн ар бир дарек менен анын протоколун сактаңыз.

Жөнөтүү буфери толгондо, map жыйынтыктар берилгенче кайталануучу объектини керектөөнү токтотот. Бул генераторлорго да тиешелүү.

map дагы эле кирүү тартиби менен берет: жай алгачкы текшерүү бүткөн кийинки жыйынтыктарды кармап, андан аркы кирүүнү кечиктириши мүмкүн. Аяктоо тартиби менен иштетүү үчүн аяктаган сайын толукталуучу ачык чектелген futures жыйындысын колдонуңуз.

Топтом жыйынтык берүүнү улантуучу болсо, күтүлгөн тармактык бузулууларды текшерүүнүн ичинде иштетиңиз. Иштетилбеген өзгөчөлүк ошол элемент алынганда көтөрүлөт. ThreadPoolExecutor дун chunksize бул жөнөтүү бюджетини камсыз кылбайт, ал эми Python дун эртерек версияларында buffersize жок.

Тектеш макалалар