Python kelių apdorojimo eilė

Python Keliu Apdorojimo Eile



Svarbiausias duomenų struktūros elementas yra eilė. Duomenų struktūros eilė „pirmas į, pirmas išeina“, kuri yra „Python“ kelių apdorojimo pagrindas, yra palyginama. Proceso funkcijai pateikiamos eilės, kad procesas galėtų rinkti duomenis. Pirmasis duomenų elementas, kuris turi būti pašalintas iš eilės, yra pirmasis įvestas elementas. Naudojame eilės metodą „put()“, kad įtrauktume duomenis į eilę, ir metodą „get()“, kad gautume duomenis iš eilės.

1 pavyzdys: „Queue()“ metodo naudojimas kelių apdorojimo eilei „Python“ sukurti

Šiame pavyzdyje „Python“ sukuriame kelių apdorojimo eilę naudodami „queue()“ metodą. Daugiafunkcinis apdorojimas reiškia vieno ar kelių procesorių naudojimą sistemoje, kad vienu metu būtų galima atlikti du ar daugiau procesų. Multiprocessing, Python sukurtas modulis, palengvina perjungimą tarp procesų. Prieš pradėdami dirbti su kelių apdorojimo funkcija, turime susipažinti su proceso savybe. Žinome, kad eilė yra esminis duomenų modelio komponentas. Standartinė duomenų eilė, sukurta remiantis idėja „pirmas-pirmas-išeina“, ir „Python“ daugiaprocesis yra tikslūs atitikmenys. Apskritai eilėje saugomas „Python“ objektas ir ji yra labai svarbi duomenų perdavimui tarp užduočių.







„Spyder“ įrankis naudojamas Python scenarijui įdiegti, todėl tiesiog pradėkime. Pirmiausia turime importuoti kelių apdorojimo modulį, nes vykdome Python kelių apdorojimo scenarijų. Tai padarėme importuodami kelių apdorojimo modulį kaip „m“. Naudodami „m.queue()“ metodą, iškviečiame kelių apdorojimo „queue()“ metodą. Čia sukuriame kintamąjį, vadinamą „queue“ ir įdedame į jį daugiafunkcinį „queue()“ metodą. Kadangi žinome, kad eilėje prekės saugomos tvarka „pirmas įvežamas, pirmas išeinantis“, todėl pirmiausia pašalinama prekė, kurią pridedame pirmiausia. Paleidę kelių procesų eilę, iškviečiame metodą „print()“, kaip argumentą, kad būtų rodomas ekrane, perduodamas teiginys „Yra kelių procesų eilė“. Tada, kadangi šiame kintamajame saugome sukonstruotą eilę, eilę spausdiname perleisdami kintamąjį „queue“ metodo „print()“ skliausteliuose.




Toliau pateiktame paveikslėlyje parodyta, kad Python kelių apdorojimo eilė dabar yra sukurta. Pirmiausia rodomas spausdinimo teiginys. Sukūrus šią kelių apdorojimo eilę nurodytame atminties adresu, ji gali būti naudojama atskiriems duomenims perduoti tarp dviejų ar daugiau veikiančių procesų.







2 pavyzdys: „Qsize()“ metodo naudojimas norint nustatyti kelių apdorojimo eilės dydį programoje Python

Šiuo atveju nustatome kelių apdorojimo eilės dydį. Norėdami apskaičiuoti kelių apdorojimo eilės dydį, naudojame „qsize()“ metodą. Funkcija „qsize()“ grąžina tikrąjį Python kelių apdorojimo eilės dydį. Kitaip tariant, šis metodas pateikia bendrą elementų skaičių eilėje.

Pradėkime importuodami Python kelių apdorojimo modulį kaip „m“ prieš paleisdami kodą. Tada, naudodami komandą „m.queue()“, iškviečiame daugiafunkcinę „queue()“ funkciją ir įdedame rezultatą į kintamąjį „Queue“. Tada, naudodami metodą 'put()', mes įtraukiame elementus į eilę šioje eilutėje. Šis metodas naudojamas duomenims įtraukti į eilę. Todėl mes vadiname „Queue“ metodu „put()“ ir pateikiame sveikuosius skaičius kaip jo elementą skliausteliuose. Skaičiai, kuriuos pridedame, yra „1“, „2“, „3“, „4“, „5“, „6“ ir „7“, naudojant „put()“ funkcijas.



Be to, naudodami „Queue“, kad gautume kelių apdorojimo eilės dydį, mes iškviečiame „qsize()“ su kelių apdorojimo eile. Tada naujai suformuotame kintamajame „result“ išsaugome metodo „qsize()“ rezultatą. Po to iškviečiame metodą „print()“ ir kaip jo parametrą perduodame teiginį „Kelių apdorojimo eilės dydis yra“. Tada funkcijoje „print()“ vadiname „rezultato“ kintamąjį, nes dydis išsaugomas šiame kintamajame.


Išvesties vaizdas rodomas tokio dydžio. Kai naudojame funkciją „put()“ septyniems elementams įtraukti į kelių apdorojimo eilę, o funkciją „qsize()“ dydžiui nustatyti, rodomas kelių apdorojimo eilės dydis „7“. Prieš dydį rodomas įvesties teiginys „daugelio apdorojimo eilės dydis“.

3 pavyzdys: „Put()“ ir „Get()“ metodų naudojimas „Python“ kelių apdorojimo eilėje

Šiame pavyzdyje naudojami „Put()“ ir „get()“ eilės metodai iš Python kelių apdorojimo eilės. Šiame pavyzdyje sukuriame dvi vartotojo apibrėžtas funkcijas. Šiame pavyzdyje apibrėžiame funkciją sukurti procesą, kuris sukuria „5“ atsitiktinius sveikuosius skaičius. Taip pat naudojame metodą „put()“, kad įtrauktume juos į eilę. Metodas „put()“ naudojamas elementams įdėti į eilę. Tada, norėdami gauti skaičius iš eilės ir grąžinti jų reikšmes, parašome kitą funkciją ir ją iškviečiame procedūros metu. Naudojame funkciją „get()“, kad gautume skaičius iš eilės, nes šis metodas naudojamas duomenims iš eilės, kuriuos įterpiame naudodami „put()“ metodą, gauti.

Pradėkime diegti kodą dabar. Pirmiausia importuojame keturias bibliotekas, kurios sudaro šį scenarijų. Pirmiausia importuojame „miegą“ iš laiko modulio, kad atidėtume vykdymą tam tikram laikui, matuojamam sekundėmis, po to „atsitiktinis“ iš atsitiktinio modulio, kuris naudojamas atsitiktiniams skaičiams generuoti, tada „apdorojame“ iš kelių apdorojimo, nes šis kodas sukuria procesą. ir galiausiai kelių apdorojimo „eilė“. Iš pradžių sukūrus klasės egzempliorių, galima naudoti eilę. Pagal numatytuosius nustatymus tai sukuria begalinę eilę arba eilę be didžiausio dydžio. Nustačius maksimalaus dydžio parinktį į skaičių, kuris yra didesnis nei nulis, galima sukurti kūrinį su dydžio apribojimu.


Mes apibrėžiame funkciją. Tada, kadangi šią funkciją nustato vartotojas, suteikiame jai pavadinimą „function1“ ir pateikiame terminą „eilė“ kaip argumentą. Po to mes iškviečiame funkciją „print()“, perduodame jai „builder: Running“, „flush“ ir objekto „True“ teiginius. Python spausdinimo funkcija turi unikalią parinktį, vadinamą flush, kuri leidžia vartotojui pasirinkti, ar buferuoti šią išvestį. Kitas žingsnis yra užduoties generavimas. Norėdami tai padaryti, naudojame „for“ ir sukuriame kintamąjį „m“ ir nustatome diapazoną į „5“. Tada kitoje eilutėje naudokite „random()“ ir išsaugokite rezultatą mūsų sukurtame kintamajame, kuris yra „value“. Tai rodo, kad funkcija dabar baigia penkias iteracijas ir kiekviena iteracija sukuria atsitiktinį sveikąjį skaičių nuo 0 iki 5.

Tada sekančiame žingsnyje iškviečiame funkciją „sleep()“ ir perduodame argumentą „vertė“, kad dalis būtų atidėta tam tikram sekundžių skaičiui. Tada iškviečiame „eilę“ naudodami metodą „put()“, kad iš esmės pridėtume vertę prie eilės. Tada vartotojas informuojamas, kad daugiau nebereikia atlikti, dar kartą iškviečiant metodą „queue.put()“ ir perduodant reikšmę „Nėra“. Tada paleidžiame metodą „print()“, perduodame teiginį „builder: ready“ kartu su „flush“ ir nustatome jį į „True“.


Dabar apibrėžiame antrąją funkciją „function2“ ir kaip argumentą priskiriame raktinį žodį „eilė“. Tada iškviečiame funkciją „print()“, kai perduodame ataskaitą „User: Running“ ir „flush“, kuri nustatyta į „True“. „Function2“ operaciją pradedame naudodami sąlygą while true, kad išimtume duomenis iš eilės ir įtrauktume juos į naujai sukurtą „elemento“ kintamąjį. Tada mes naudojame sąlygą „jei“, „elementas nėra“, norėdami nutraukti ciklą, jei sąlyga yra teisinga. Jei elemento nėra, jis sustoja ir paprašo vartotojo. Užduotis sustabdo ciklą ir šiuo atveju baigiasi, jei elementas, gautas iš reikšmės, yra nulinis. Tada sekančiame žingsnyje iškviečiame funkciją „print()“ ir pateikiame „User: ready“ ataskaitą bei parametrus „flush=True“.


Tada įvedame pagrindinį procesą naudodami „If-name = main_“. Sukuriame eilę iškviesdami metodą „queue()“ ir išsaugodami ją „queue“ kintamajame. Tada sukuriame procesą, iškviesdami vartotojo funkciją „function2“. Tam mes vadiname „proceso“ klase. Jo viduje perduodame „target=function2“, kad iškviestume funkciją procese, perduodame argumentą „queue“ ir išsaugome jį kintamajame „User_process“. Tada procesas pradedamas iškviečiant metodą „start()“ su kintamuoju „User_process“. Tada kartojame tą pačią procedūrą, kad iškviestume „function1“ procese ir įtrauktume į „builder process“ kintamąjį. Tada iškviečiame procesus naudodami „join()“ metodą, kad lauktume vykdymo.


Dabar, kai jis pateiktas, išvestyje galite matyti abiejų funkcijų teiginius. Jame rodomi elementai, kuriuos įtraukėme naudodami „put()“ ir „get()“ atitinkamai naudodami „get()“ metodus.

Išvada

Šiame straipsnyje sužinojome apie Python kelių apdorojimo eilę. Naudojome pateiktas iliustracijas. Iš pradžių aprašėme, kaip sukurti eilę naudojant Python kelių apdorojimo funkciją naudojant funkciją queue(). Tada eilės nustatymui naudojome „qsize()“ metodą. Taip pat naudojome eilės put() ir get() metodus. Paskutiniame pavyzdyje buvo aptarta laiko modulio miego klasė ir atsitiktinio modulio atsitiktinė klasė.