max_workers=8 sy'n cyfyngu'r edafedd gweithredu. Nid yw'n atal dolen gyflwyno ar wahân rhag creu Future ar gyfer pob pwynt terfyn mewn mewnbwn enfawr.

Mae Python 3.14 yn ychwanegu opsiwn rhag-ddarllen cyfyngedig:

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 yw'r gwiriad cydamserol presennol, gyda therfynau amser rhwydwaith a glanhau; mae record_result yn trin yr arsylwad a ddychwelir. Mae'r gwerthoedd 8 a 24 yn gyllidebau enghreifftiol. Mae'r rhestr procsi am ddim yn darparu ymgeiswyr cyhoeddus ar gyfer pwyntiau terfyn; cadwch eu protocol gyda phob cyfeiriad fel y gall check_proxy ddefnyddio'r cludiant cywir.

Pan fydd y bwfer cyflwyno'n llenwi, mae map yn oedi defnyddio'r iteradwy nes bod canlyniadau'n cael eu dychwelyd. Mae hyn hefyd yn berthnasol i generaduron.

Mae map yn dal i ddychwelyd yn nhrefn y mewnbwn: gall gwiriad cynnar araf ddal canlyniadau diweddarach sydd wedi gorffen ac oedi mwy o fewnbwn. Ar gyfer prosesu yn nhrefn cwblhau, defnyddiwch set futures a gyfyngir yn benodol ac a ail-lenwir wrth iddynt orffen.

Triniwch fethiannau rhwydwaith disgwyliedig y tu mewn i'r gwiriad os dylai'r swp barhau i ddychwelyd canlyniadau. Codir eithriad heb ei drin pan geir yr eitem honno. Nid yw chunksize ThreadPoolExecutor yn darparu'r gyllideb gyflwyno hon, ac nid oes gan fersiynau cynharach o Python buffersize.

Erthyglau cysylltiedig