Kierteitys Pythonissa: opi kuinka työskentelemään ketjuilla Pythonissa



Tässä artikkelissa Threadingista Pythonissa kerrotaan, mitkä ovat langat, sen tyypit, miten ne voidaan aloittaa ja hyödyntää parhaalla mahdollisella tavalla

Tänään, on yksi rakastetuimmista ohjelmointikielistä kaikkialla maailmassa. Perustamisestaan ​​lähtien 1990-luvulla se on kerännyt valtavasti seuraajia ja harrastajia ja koodereita, jotka työskentelevät päivittäin tämän ohjelmointikielen parantamiseksi. Python-ekosysteemissä sisäänrakennettujen ominaisuuksien joukossa eniten erottuu Threading. Siksi tässä artikkelissa puhumme kaikesta Threadingista Pythonissa, kuinka voit hyödyntää sitä yhdessä sen etujen ja haittojen kanssa.

Seuraavat vihjeet käsitellään tässä artikkelissa,





Aloitetaan

Langoittaminen Pythonissa

Mikä on ketju Pythonissa?

Pythonin säie voidaan yksinkertaisesti määritellä erillisenä suorituksen kulkuna. Tämä tarkoittaa yksinkertaisesti sitä, että ohjelmassa suoritetaan kaksi erilaista prosessia samanaikaisesti. Yksi mielenkiintoinen näkökohta Pythonin ketjutuksessa on se, että version 3 jälkeen useita Pythonin ketjuja ei suoriteta samanaikaisesti, mutta ne vain näyttävät vain.



Vaikka on hämmästyttävä tunne käyttää kahta erilaista prosessia samanaikaisesti, on ymmärrettävä, että nykyinen Python 3: n ja sitä uudempi versio on koodattu siten, että vain prosessi voidaan ajaa milloin tahansa. Jos kuitenkin tarvitset kahta tai useampaa prosessia yhdessä samanaikaisesti CPythonissa, sinun on koodattava osa koodistasi myös muilla kielillä, kuten C, C ++ ja Java, ja suoritettava ne sitten monisäikeisyyden kautta Pythonissa.

Yksi Pythonin ketjuttamisen tunnetuimmista eduista on sen kyky tarjota selkeyttä suunnittelussa.

Ennen sitä meillä on jonkinlainen käsitys Threadingista Pythonissa, anna meidän ymmärtää, miten ketju aloitetaan,



Langan aloittaminen Pythonissa

Nyt kun olet tottunut ketjun määrittelyyn Pythonissa, katsokaamme esimerkkiä siitä, kuinka voit luoda oman säikeesi Pythonissa. Jotta voit luoda ketjun Pythoniin, sinun on ensin tuotava ketjukirjasto ja sitten annettava käsky aloittaa () alla olevan esimerkin mukaisesti:

tuonti loki tuonti ketjut tuonti aika def säiö_toiminto (nimi): logging.info ('Kierre% s: alkaminen', nimi) time.sleep (2) logging.info ('Kierre% s: viimeistely', nimi) if __nimi__ == '__main__': format = '% (asctime) s:% (message) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') logging.info ( 'Main & ampampampnbsp & ampampampnbsp: ennen langan luomista') x = threading.Thread (target = thread_function, args = (1,)) logging.info ('Main & ampampampnbsp & ampampampnbsp: before thread') x.start () logging.info ('Main & ampampampnbsp & ampampampnbsp: odota, että säie päättyy ') # x.join () logging.info (' Main & ampampampnbsp & ampampampnbsp: kaikki valmiit ')

Tuotos

Tulos - langoitus Pythonissa - Edureka

Kun suoritat ketjun Pythonissa, välität sen funktiona, joka sisältää luettelon argumenteista, jotka se tarvitsee suorittaa. Yllä olevassa jaetussa esimerkissä kehotat Pythonia suorittamaan säie, thread_function () ja välittämään sen argumentiksi 1.

Kun suoritat yllä olevan ohjelman, lähtö näyttää tältä.

Tämän artikkelin seuraava aihe 'Threading in Python' katsotaan mitä daemon-ketjut ovat,

Mitä ovat Daemon-langat?

Teknisessä terminologiassa daemon voidaan määritellä prosessiksi, joka toimii ensisijaisesti taustalla. Pythonissa daemon-säikeellä on kuitenkin hyvin tarkka merkitys. Pythonissa daemon-säie sulkee ohjelman poistumisajankohdan, vaikka muilla ohjelmointikielillä se jatkuu taustalla. Jos tietyssä ohjelmassa säiettä ei ole ohjelmoitu daemon-säikeeksi, tulkki odottaa sen päättyvän toimintaansa ja sammuttaa sitten tulkin.

Ymmärrä tämä käsite paremmin katsomalla yllä olevaa esimerkkiä. Toisella viimeisellä rivillä ohjelma odottaa muutaman sekunnin, kun se on suorittanut kaikki tehtävät. Tämä johtuu siitä, että se odottaa, että ei-daemoninen säie lopettaa toimintansa ja poistuu sitten käyttöliittymästä. Kun säie on saanut toimintansa päätökseen, ohjelma poistuu vasta.

Muokkaamme nyt yllä olevaa ohjelmaa ja katsotaan, mitä tapahtuu, jos lisätään koodiin daemon-säie.

python __init__ itse

Uusi koodi: x = threading.Thread (target = thread_function, args = (1,), daemon = True)

Kun suoritat yllä olevan ohjelman tehdyillä muutoksilla, se näyttää tältä.

Näiden kahden lähdön ero on, että viimeinen rivi puuttuu viimeisestä. Säie_toiminto () ei saanut mahdollisuutta suorittaa loppuun, koska lisäsimme daemon-säiettä ja kun se pian loppui, se poistui ohjelmasta.

Liity ketjuun

Nyt kun olet oppinut ketjun luomisen käsitteestä Pythonissa sekä daemonisen säikeen käsitteen, anna meidän selvittää, miten voit liittää ketjut Pythonissa.

Käyttämällä Pythonin join () -toimintoa voit liittää kaksi eri ketjua ja myös kehottaa yhtä odottamaan toista, kunnes se suorittaa suorituksensa. Tämä ominaisuus on usein hyödyllinen, kun koodaat isoja sovelluksia ja tarvitset kaikki prosessit suoritettavaksi tietyssä järjestyksessä

Tämän artikkelin viimeinen kappale 'Threading in Python' näyttää sinulle toimivat Multiple Threads,

Työskentely useiden lankojen kanssa

Edellä mainituissa esimerkeissä olemme puhuneet siitä, kuinka voit työskennellä kahdella langalla kerralla. Mutta entä jos tietyssä tilanteessa sinun on työskenneltävä useiden säikeiden kanssa samanaikaisesti. Tarkastele tilannetta paremmin katsomalla alla olevaa esimerkkiä.

tuonti loki tuonti ketjut tuonti aika def säiö_toiminto (nimi): logging.info ('Kierre% s: alkaminen', nimi) time.sleep (2) logging.info ('Kierre% s: viimeistely', nimi) if __nimi__ == '__main__': format = '% (asctime) s:% (message) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') säikeet = luettelo ( ) hakemistolle alueella (3): logging.info ('Main & ampampampnbsp & ampampampnbsp: luo ja aloita lanka% d.', hakemisto) x = threading.Thread (target = thread_function, args = (index,)) threads.append (x ) x.start () hakemistolle, ketju luetteloitavaksi (ketjut): logging.info ('Main & ampampampnbsp & ampampampnbsp: ennen liittymistä lankaan% d., index) thread.join () logging.info (' Main & ampampampnnsp & ampampampnbsp: lanka% d valmis ', hakemisto)

Tuotos

Yllä olevassa ohjelmassa olemme noudattaneet samaa menettelyä tuodessamme ketjukirjaston, aloittamalla ketjun, luoden useita ketjuja ja yhdistämällä sitten kaikki (ja) suoritettavaksi tietyssä järjestyksessä yhdistämistoiminnon () avulla.

Kun suoritat yllä olevan ohjelman, tulos näyttää tältä.

Johtopäätös

Se on yksi Pythonin kätevimmistä ominaisuuksista. Käyttämällä sitä oikealla tavalla voit tehdä koko koodausprosessistasi paljon helpomman ja tehokkaamman. Toivomme yllä olevasta artikkelista, että olet oppinut langoituksen perusteet ja jatkat sen käyttöä päivittäisessä ohjelmoinnissasi.

Joten tämä on kaverit, toivottavasti pidit tästä artikkelista.

Voit saada syvällistä tietoa Pythonista sen eri sovellusten kanssa live-verkkokoulutukseen 24/7 tuella ja käyttöikä.

Onko sinulla kysymys meille? Mainitse ne tämän artikkelin kommenttiosassa ja palaamme sinuun.