Tråding i Python: Lær hvordan du arbeider med tråder i Python



Denne artikkelen om tråder i Python vil fortelle deg hva som er tråder, hvilke typer det er, hvordan du starter dem og bruker dem på en best mulig måte

I dag, er et av de mest elskede programmeringsspråkene over hele verden. Siden oppstarten på 1990-tallet har det fått et stort følge og entusiaster og kodere som jobber hver dag for å gjøre dette programmeringsspråket bedre. Blant de mange funksjonene som er innebygd i Python-økosystemet, er Threading en som skiller seg ut mest. Derfor vil vi i denne artikkelen snakke alt om Threading in Python, hvordan du kan bruke det sammen med fordeler og ulemper.

Følgende tips vil bli dekket i denne artikkelen,





La oss komme i gang

Tråding i Python

Hva er en tråd i Python?

En tråd i Python kan ganske enkelt defineres som en egen utførelsesstrøm. Hva dette ganske enkelt betyr at to forskjellige prosesser i programmet ditt vil bli utført på samme tid. Et interessant aspekt ved threading i Python er det faktum at flere versjoner i Python etter versjon 3 ikke blir utført samtidig, men de ser bare ut til å være.



Selv om det er en fantastisk følelse å kjøre to forskjellige prosesser samtidig, må man forstå at den nåværende versjonen av Python 3 og nyere er kodet på en slik måte at den eneste prosessen kan kjøres på et gitt tidspunkt. Hvis du imidlertid trenger to eller flere prosesser sammen samtidig i CPython, må du kode noe av koden din på andre språk, for eksempel C, C ++ og Java, og deretter kjøre dem gjennom multi threading i Python.

En av de mest kjente fordelene med threading i Python er dens evne til å gi en klarhet i designklarhet.

Før det har vi en ide om tråding i Python, la oss forstå hvordan vi starter en tråd,



Starte en tråd i Python

Nå som du er vant til definisjonen av en tråd i Python, la oss se på et eksempel på hvordan du kan lage din egen tråd i Python. For å lage en tråd i Python, må du først importere trådbiblioteket og deretter instruere det om å starte () som vist i eksemplet nedenfor:

import logging import threading import time def thread_function (name): logging.info ('Thread% s: start', name) time.sleep (2) logging.info ('Thread% s: finishing', name) if __name__ == '__main__': format = '% (asctime) s:% (melding) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') logging.info ( 'Main & ampampampnbsp & ampampampnbsp: før du oppretter tråd') x = threading.Tråd (target = thread_function, args = (1,)) logging.info ('Main & ampampampnbsp & ampampampnbsp: before running thread') x.start () logging.info ('Main & ampampampnbsp & ampampampnbsp: vent til tråden er ferdig ') # x.join () logging.info (' Main & ampampampnbsp & ampampampnbsp: all done ')

Produksjon

Utgang - Tråding i Python - Edureka

Når du kjører en tråd i Python, sender du den videre som en funksjon som inneholder en liste over argumenter den trenger å utføre. I eksemplet som er delt ovenfor, instruerer du Python om å kjøre tråden, thread_function () og sende den til 1 som et argument.

Når du kjører programmet ovenfor, vil utgangen se ut som dette.

Neste bit av denne artikkelen om ‘Threading in Python’ la oss se hva daemon-tråder er,

Hva er Daemon-tråder?

I teknisk terminologi kan demonen defineres som en prosess som primært går i bakgrunnen. Imidlertid har en daemon-tråd i Python en veldig spesifikk betydning. I Python vil en demonetråd stenge i det øyeblikket programmet avsluttet, selv om det i andre programmeringsspråk fortsetter å kjøre i bakgrunnen. Hvis en tråd ikke er programmert som en daemon-tråd i et bestemt program, vil tolken vente på at den skal fullføre driften, og deretter bare slå av tolken.

For å forstå dette konseptet, ta en titt på eksemplet ovenfor. På den nest siste linjen venter programmet noen sekunder etter at det er ferdig med alle oppgavene. Dette er fordi den venter på at den ikke-demoniske tråden skal fullføre driften og deretter avslutte grensesnittet. Når tråden er fullført, avslutter bare programmet.

La oss nå endre det ovennevnte programmet og se hva som skjer, hvis vi setter inn en demontråd i koden.

Ny kode: x = threading.Thread (target = thread_function, args = (1,), daemon = True)

hvordan du bruker sas-programvare

Når du kjører programmet ovenfor med endringene som er gjort, vil det se ut som dette.

Forskjellen mellom disse to utgangene er at den siste linjen mangler fra den siste. Thread_function () fikk ikke sjansen til å fullføre, fordi vi satte inn en daemon-tråd, og da den snart nådde slutten, gikk den ut av programmet.

Bli med i en tråd

Nå som du har lært om begrepet å lage en tråd i Python, sammen med konseptet med en demonisk tråd, la oss oppdage hvordan du kan bli med i tråder i Python.

Ved å bruke join () -funksjonen i Python kan du bli med i to forskjellige tråder, og også instruere den ene om å vente på den andre til den er ferdig med utførelsen. Denne funksjonen vil ofte være nyttig når du skal kode store applikasjoner, og du trenger at alle prosessene skal utføres i en bestemt rekkefølge

Den siste delen av denne artikkelen om 'Threading in Python' vil vise deg de fungerende Multiple Threads,

Arbeide med flere tråder

I eksemplene ovenfor har vi snakket om hvordan du kan jobbe med to tråder samtidig. Men hva om du i en bestemt situasjon trenger å jobbe med flere tråder samtidig. For bedre forståelse av situasjonen, ta en titt på eksemplet nedenfor.

import logging import threading import time def thread_function (name): logging.info ('Thread% s: start', name) time.sleep (2) logging.info ('Thread% s: finishing', name) if __name__ == '__main__': format = '% (asctime) s:% (message) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') threads = list ( ) for indeks i rekkevidde (3): logging.info ('Main & ampampampnbsp & ampampampnbsp: create and start thread% d.', index) x = threading.Thread (target = thread_function, args = (index,)) threads.append (x ) x.start () for indeks, tråd i enumerate (tråder): logging.info ('Main & ampampampnbsp & ampampampnbsp: before joining thread% d.', index) thread.join () logging.info ('Main & ampampampnbsp & ampampampnbsp: thread% d ferdig ', indeks)

Produksjon

I det ovennevnte programmet har vi fulgt den samme prosedyren for å importere trådbiblioteket, starte tråden, opprette flere tråder og deretter bruke join () -funksjonen til å kombinere alt sammen og utføres i en bestemt rekkefølge.

Når du kjører programmet ovenfor, vil resultatet se slik ut.

Konklusjon

Det er en av de mest praktiske funksjonene i Python. Ved å bruke den på riktig måte kan du gjøre hele kodingsprosessen mye enklere og mer effektiv. Fra artikkelen ovenfor håper vi at du har lært det grunnleggende om å tråde og vil fortsette å bruke det i din daglige programmering.

Så dette er det gutta jeg håper du likte denne artikkelen.

For å få inngående kunnskap om Python sammen med dets forskjellige applikasjoner, kan du for live online trening med 24/7 support og levetidstilgang.

Har du et spørsmål til oss? Nevn dem i kommentarfeltet i denne artikkelen, så kommer vi tilbake til deg.