Grensesnittet for å utføre oppgaver som bruker et basseng med tråder eller prosesser er gitt av dette innkapslingslaget på toppen av Pythons multitasking og multithreading -komponenter. Samtidig.Futures Module of Python kom med en abstrakt klasse “Executor” sammen med sine konkrete underklasser som brukes i stedet for "Executor" -klassen. Det er fordi "Executor" -klassen ikke kan brukes direkte i koden.”
Eksempel 01
La oss komme i gang med den første illustrasjonen av artikkelen vår. Vi vil vise deg bruken av prosesspoolexecutor underklassen til “Executor” i denne illustrasjonen, i.e., Motta en strøm av oppgaver for å fullføre jobbene siden den sysselsetter flerbehandling. Den strømmen tildeler jobber til eksisterende tråder og planlegger utførelsen. Vi har startet dette Python -programmet med bruk av “Samtidig.Futures ”-modul som importerer sin prosesspoolexecutor -underklasse her i koden.
Etter det har vi importert søvnklassen til en tidsmodul i Python via bruk av og importerer nøkkelord. Vi definerer en funksjon med navnet "tråd", tar en meldingsvariabel som et argument i den. Denne funksjonen har brukt funksjonen for funksjonsanrop () -funksjonen til Python for å få utførelsen til å stoppe bare i 2 sekunder og returnere meldingen til Main () -funksjonen.
Mens definisjonen av Main () har blitt startet med samtalen til "ProcessPoolexecutor" -funksjonen til samtidig.Futures -modul for å lage et basseng med 5 prosesser og lagre bassengresultatet til et objekt “Eksekutor”. Dette "Executor" -objektet har blitt brukt til å kalle "Send" -funksjonen for å lage 5 tråder ved å sende dem en melding "fullført" i parametrene. Funksjonsutførelsen prøvde å sove i 2 sekunder og returnere meldingen. Det returnerte resultatet vil bli lagret i variabelen “Future”. Vi har ringt "Done" -funksjonen med den fremtidige objektvariabelen i "Print" -uttalelsen fra Python -funksjonen for å vise det returnerte resultatet, i.e., sant eller usant.
Etter dette har vi brukt søvnfunksjonen for å få utførelsen av programmet til å fortsette etter 5 sekunder og deretter sjekke resultatet av Executor Pool med bruk av den ferdige funksjonen til det fremtidige objektet. Til slutt har "Future" -objektet blitt brukt til å kalle resultatet () innebygd funksjon av Python samtidig. Futures -modul for å se det faktiske resultatet, jeg.e., Fullført på slutten.
I de siste linjene kan vi se at hovedfunksjonen () har blitt kalt her. La oss bare lagre og utføre koden vår for å se det faktiske resultatet for å bruke samtidig.Futures -pakker i Python -programmer. Bildet nedenfor inneholder koden for den nevnte forklaringen også.
Etter å ha kjørt dette programmet i Spyder 3, har vi fått det vistede resultatet i Spyder3-verktøyet. Når Executor Pool på 5 tråder er startet, kaller den trådfunksjonen og sover i 2 sekunder, og returnerer deretter meldingen. Ettersom bassengprosessen ikke fullfører seg selv ennå, så "fremtiden.ferdig "returnerer usant, og vi har vist det" falske "resultatet. Utførelsen av dette programmet sover de neste 5 sekundene og viser deretter resultatet av “fremtid.gjort ”igjen.
Etter hvert som totalt 5 sekunder blir passert, og bassenget har blitt utført med hell, returnerer det sant i dette tilfellet. Endelig "fremtiden.Resultat ”-funksjon viste meldingen“ fullført ”for bassenget med 5 prosesser 'komplette utførelse. Dette er det forventede resultatet av den ovennevnte koden.
Eksempel 02
La oss ta en titt på et annet eksempel for å bruke prosesspoolexecutor underklassen av samtidig.Futures -modul i Python. Så vi har importert underklassen ProcessPooleExecutor her. Etter dette har vi initialisert en liste “Num” av 4 forskjellige numeriske verdier, i.e., 14, 7, 3, 15. Vi har brukt totalt 2 funksjoner i dette programmet. Hoved () funksjonsutførelse startet med bruken av prosesspoolexecutor Context Manager.
Context Manager kan brukes som en annen metode for å lage prosesspoolexecutor -forekomster. Den fungerer på samme måte som tilnærmingen som vises i foregående eksempel. Kontekstlederens beste funksjon er hvor syntaktisk tiltalende det er. Så vi har brukt det her for å lage et basseng på 3, jeg.e., Totalt arbeidere. Med dette har eksekutoren brukt MAP () -funksjonen for å passere et antall av hvert element i en "Num" -liste som en parameter til "Cube" -funksjonen for kartlegging. Kubfunksjonen vil returnere kuben til hvert nummer som sendes fra listen til den via bruk av “n*n*n” formler og lagre det returnerte resultatet til variabel “r”.
"For" -sløyfen er her for å bruke “R” -resultatet for hvert element for å vise hver returnerte verdi fra kubfunksjonen på konsollen via bruk av "Print" -funksjonen med "Val" -variabelen. De to siste linjene viser bruken av main () funksjonsanropet. Bildet nedenfor inneholder koden for den nevnte forklaringen også.
Utgangen har vist kuben til alle de 4 elementene i "Num" -listen. Dette er det forventede resultatet av den ovennevnte koden.
Konklusjon
Denne artikkelen handler om bruk av “Samtidig.Futures ”modul av Python i programmene for å se bruken. Innenfor vårt første eksempel har vi brukt det til å lage et basseng med 5 prosesser og returnere resultatet før og etter søvnfunksjonsbruken i koden. Etter dette benyttet vi et annet eksempel for å konsumere “samtidig.Futures ”-modul og viser noen matematiske beregninger på Sypder Tool Python Tool's Console.