Keermestamine Pythonis: õppige, kuidas töötada Pythoni lõimedega



See artikkel Pythoni lõime kohta ütleb teile, mis on lõimed, selle tüübid, kuidas neid käivitada ja parimal võimalikul viisil kasutada

Täna on üks armastatumaid programmeerimiskeeli kogu maailmas. Alates selle loomisest 1990. aastatel on see kogunud tohutut jälgijat ning entusiaste ja kodeerijaid, kes töötavad igapäevaselt selle programmeerimiskeele paremaks muutmise nimel. Paljude Pythoni ökosüsteemi sisseehitatud funktsioonide seas paistab kõige rohkem silma Threading. Seetõttu räägime selles artiklis kõike Pythoni lõimimisest, kuidas saate seda kasutada koos selle eeliste ja puudustega.

Järgmisi näpunäiteid käsitletakse selles artiklis,





Alustagem

Keermestamine Pythonis

Mis on Pythoni lõime?

Pythoni lõime saab lihtsalt määratleda eraldi käivitamisvooks. Mida see lihtsalt tähendab, et teie programmis käivitatakse korraga kaks erinevat protsessi. Pythoni keermestamise üks huvitav aspekt on asjaolu, et pärast versiooni 3 ei käivitata Pythonis mitut lõime korraga, vaid need lihtsalt näivad.



Ehkki on hämmastav tunne käitada kahte erinevat protsessi korraga, tuleb mõista, et praegune Python 3 ja uuem versioon on kodeeritud nii, et ainult protsessi saab käivitada igal ajahetkel. Kui teil on siiski vaja CPythonis korraga kahte või enamat protsessi koos teha, peate osa oma koodist kodeerima ka teistes keeltes, näiteks C, C ++ ja Java, ning seejärel käivitama need Pythonis mitme lõime kaudu.

Pythoni keermestamise üks tuntumaid eeliseid on selle võime saavutada disainiselgust.

Enne seda on meil Pythoni lõimimise idee, andke meile mõista, kuidas lõime käivitada,



Lõime käivitamine Pythonis

Nüüd, kui olete Pythoni lõime määratlusega harjunud, vaatame näite selle kohta, kuidas saate Pythonis oma lõime luua. Pythonis lõime loomiseks peate kõigepealt lõimekogu importima ja seejärel käskima seda käivitama (), nagu on näidatud allpool toodud näites:

massiivi javascripti suurus
import logimine impordi keermestamine impordi aeg def thread_function (nimi): logging.info ('lõime% s: algus ', nimi) time.sleep (2) logging.info (' lõime% s: viimistlus', nimi) if __name__ == '__main__': format = '% (asctime) s:% (sõnum) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') logging.info ( 'Main & ampampampnbsp & ampampampnbsp: enne lõime loomist') x = keermestamine. Niit (target = thread_function, args = (1,)) logging.info ('Main & ampampampnbsp & ampampampnbsp: enne lõime käivitamist') x.start () logging.info ('Main & ampampampnbsp & ampampampnbsp: oodake lõime lõpetamist ') # x.join () logging.info (' Main & ampampampnbsp & ampampampnbsp: kõik valmis ')

Väljund

Väljund - keermestamine Pythonis - Edureka

Kui teete Pythonis lõime, edastate selle funktsioonina, mis sisaldab käivitamiseks vajalike argumentide loendit. Eespool jagatud näites juhendate Pythoni käivitama lõime thread_function () ja edastama selle argumendina 1-le.

Kui käivitate ülaltoodud programmi, näeb väljund välja umbes selline.

Selle artikli järgmine osa teemal „Pythoni lõimimine” vaatame, millised on deemoni lõimed,

Mis on deemonniidid?

Tehnilises terminoloogias saab deemonit defineerida kui protsessi, mis töötab peamiselt taustal. Kuid Pythonis on deemonniidil väga konkreetne tähendus. Pythonis sulgeb deemonniit programmi sulgemise hetkel, ehkki teistes programmeerimiskeeltes töötab see taustal edasi. Kui mõnes programmis pole lõime deemonniidiks programmeeritud, siis ootab tõlk selle toimimise lõpetamist ja lülitab siis tõlgi välja.

algtaseme pythoni arendaja jätkamine

Selle kontseptsiooni paremaks mõistmiseks vaadake ülaltoodud näidet. Teises viimases reas ootab programm mõne sekundi pärast kõigi ülesannete täitmist. Seda seetõttu, et see ootab mitte-deemonlikku lõime oma töö lõpetamist ja seejärel liidest väljumist. Kui lõim on oma töö lõpetanud, väljub programm ainult.

Nüüd muutke ülaltoodud programmi ja vaadake, mis juhtub, kui sisestame koodi deemonniidi.

Uus kood: x = threading. Thread (target = thread_function, args = (1,), daemon = True)

Kui käivitate ülaltoodud programmi tehtud muudatustega, näeb see välja umbes selline.

Nende kahe väljundi erinevus seisneb selles, et viimane rida puudub viimasest. Lõim_funktsioon () ei saanud võimalust lõpule viia, kuna sisestasime deemoni lõime ja kui see varsti lõpuni jõudis, väljus see programmist.

Lõimega liitumine

Nüüd, kui olete õppinud Pythoni lõime loomise kontseptsiooni ja deemonliku lõime kontseptsiooni, lubage meil avastada, kuidas saate Pythonis lõime ühendada.

Kasutades Pythoni funktsiooni join (), saate ühendada kaks erinevat lõime ja ühtlasi käskida ühel oodata teist, kuni see lõpetab täitmise. See funktsioon on sageli kasulik, kui kodeerite suuri rakendusi ja vajate kõiki protsesse kindlas järjekorras

Selle artikli viimane lõik lõimimisest Pythonis näitab teile töötavaid mitu lõime,

Mitme lõimega töötamine

Eespool toodud näidetes oleme rääkinud sellest, kuidas saate töötada kahe lõimega korraga. Aga mis siis, kui teatud olukorras peate töötama korraga mitme lõimega. Olukorra paremaks mõistmiseks vaadake allolevat näidet.

import logimine impordi keermestamine impordi aeg def thread_function (nimi): logging.info ('lõime% s: algus ', nimi) time.sleep (2) logging.info (' lõime% s: viimistlus', nimi) if __name__ == '__main__': format = '% (asctime) s:% (message) s' logging.basicConfig (formaat = formaat, tase = logimine.INFO, datefmt = '% H:% M:% S') niidid = loend ( ) indeksile vahemikus (3): logging.info ('Main & ampampampnbsp & ampampampnbsp: lõime% d. lõime ja käivitage', register) x = keermestamine. Lõng (target = thread_function, args = (index,)) threads.append (x ) x.start () indeksile, lõime loendisse (lõimed): logging.info ('Main & ampampampnbsp & ampampampnbsp: enne lõime% d ühendamist.', register) thread.join () logging.info ('Main & ampampampnbsp & ampampampnbsp: niit% d valmis ', register)

Väljund

java kuidas teisendada kahekordne int

Ülaltoodud programmis oleme järginud sama lõimekogu importimise protseduuri, lõime käivitamist, mitme lõime loomist ja seejärel funktsiooni join () ühendamiseks kõik kokku ja käivitamiseks kindlas järjekorras.

Kui käivitate ülaltoodud programmi, näeb tulemus välja umbes selline.

Järeldus

See on Pythoni üks kõige mugavamaid funktsioone. Kasutades seda õigel viisil, saate kogu oma kodeerimisprotsessi palju lihtsamaks ja tõhusamaks muuta. Loodame ülaltoodud artiklist, et olete õppinud keermestamise põhitõdesid ja jätkate selle kasutamist oma igapäevases programmeerimises.

Nii et see on see tüüp, ma loodan, et see artikkel meeldis teile.

Põhjalike teadmiste saamiseks Pythoni kohta koos selle erinevate rakendustega saate seda teha reaalajas veebikoolituse jaoks, millel on 24-tunnine tugi ja juurdepääs kogu elule.

Kas teil on meile küsimus? Mainige neid selle artikli kommentaaride jaotises ja võtame teiega ühendust.