max_workers=8 a chuireann teorainn leis na snáitheanna feidhmithe. Ní choisceann sé lúb aighneachta ar leithligh ó Future a chruthú do gach críochphointe in ionchur ollmhór.

Cuireann Python 3.14 rogha réamhléitheoireachta teoranta leis:

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)

Is é check_proxy an tseiceáil shioncronach atá ann cheana, le spriocdhátaí líonra agus glanadh; láimhseálann record_result an bhreathnóireacht a thugtar ar ais. Is buiséid shamplacha iad na luachanna 8 agus 24. Soláthraíonn an liosta seachfhreastalaí saor in aisce iarrthóirí poiblí do chríochphointí; coinnigh a bprótacal le gach seoladh ionas gur féidir le check_proxy an t-iompar ceart a úsáid.

Nuair a líontar an maolán aighneachta, cuireann map stop le tomhaltas an in-athráite go dtí go dtabharfar torthaí. Baineann sé seo le gineadóirí freisin.

Tugann map fós in ord ionchuir: féadann seiceáil luath mhall torthaí níos déanaí atá críochnaithe a choinneáil agus ionchur breise a mhoill. Chun próiseáil in ord críochnaithe, úsáid tacar futures a bhfuil teorainn shainráite air agus a athlíontar de réir mar a chríochnaíonn siad.

Láimhseáil teipeanna líonra a bhfuiltear ag súil leo taobh istigh den tseiceáil má tá an bhaisc le leanúint ar aghaidh ag tabhairt torthaí. Ardaítear eisceacht neamh-láimhseáilte nuair a fhaightear an mhír sin. Ní sholáthraíonn chunksize ThreadPoolExecutor an buiséad aighneachta seo, agus níl buffersize ag leaganacha níos luaithe de Python.

Ailt ghaolmhara