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 இல்லை.

தொடர்புடைய கட்டுரைகள்