Trådning i Python: Lær hvordan du arbejder med tråde i Python



Denne artikel om trådning i Python fortæller dig, hvad der er tråde, dens typer, hvordan du starter dem og bruger dem på den bedst mulige måde

I dag, er et af de mest elskede programmeringssprog i hele verden. Siden starten i 1990'erne har det fået et stort antal tilhængere og entusiaster og kodere, der arbejder hver dag for at gøre dette programmeringssprog bedre. Blandt de mange funktioner, der er indbygget i Python-økosystemet, er Threading en der skiller sig mest ud. Derfor vil vi i denne artikel tale alt om trådning i Python, hvordan du kan bruge det sammen med dets fordele og ulemper.

Følgende punkter vil blive dækket i denne artikel,





Lad os komme i gang

Trådning i Python

Hvad er en tråd i Python?

En tråd i Python kan simpelthen defineres som en separat strøm af udførelse. Hvad dette simpelthen betyder, at der i dit program udføres to forskellige processer på samme tid. Et interessant aspekt ved threading i Python er det faktum, at flere versioner i Python efter version 3 ikke udføres på samme tid, men de ser bare ud til.



Selvom det er en fantastisk følelse at køre to forskellige processer på samme tid, skal man forstå, at den nuværende version af Python 3 og derover er kodet på en sådan måde, at kun processen kan køres på et givet tidspunkt. Hvis du dog har brug for to eller flere processer sammen på samme tid i CPython, skal du også kode noget af din kode på andre sprog, såsom C, C ++ og Java, og derefter køre dem gennem multi threading i Python.

En af de mest kendte fordele ved trådning i Python er dens evne til at give en gevinst i designklarhed.

Før det har vi en ide om trådning i Python, lad os forstå, hvordan man starter en tråd,



Start af en tråd i Python

Nu hvor du er vant til definitionen af ​​en tråd i Python, lad os se på et eksempel på, hvordan du kan oprette din egen tråd i Python. For at oprette en tråd i Python skal du først importere trådbiblioteket og derefter instruere det om at starte () som vist i eksemplet nedenfor:

import logging import threading import tid def thread_function (navn): logging.info ('Tråd% s: start', navn) time.sleep (2) logging.info ('Tråd% s: efterbehandling', navn) hvis __name__ == '__main__': format = '% (asctime) s:% (meddelelse) s' logging.basicConfig (format = format, niveau = logging.INFO, datefmt = '% H:% M:% S') logging.info ( 'Main & ampampampnbsp & ampampampnbsp: før oprettelse af 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 færdig ') # x.join () logging.info (' Main & ampampampnbsp & ampampampnbsp: all done ')

Produktion

Output - Trådning i Python - Edureka

Når du kører en tråd i Python, videregiver du den som en funktion, der indeholder en liste over argumenter, den skal udføre. I eksemplet, der er delt ovenfor, instruerer du Python om at køre tråden, thread_function () og videregive den til 1 som et argument.

<> operatør i sql

Når du kører ovenstående program, vil output se sådan ud.

Næste bit af denne artikel om 'Threading in Python' lad os se, hvad daemon-tråde er,

Hvad er Daemon-tråde?

I teknisk terminologi kan dæmonen defineres som en proces, der primært kører i baggrunden. Imidlertid har en daemon-tråd i Python en meget specifik betydning. I Python lukkes en dæmontråd ned, når programmet afsluttes, selvom det i andre programmeringssprog fortsætter med at køre i baggrunden. Hvis en tråd ikke er programmeret til at være en dæmontråd i et bestemt program, så venter tolken til den er færdig med sin operation og lukker derefter kun tolken ned.

For at forstå dette koncept bedre se på eksemplet ovenfor. På den næstsidste linje venter programmet et par sekunder, efter at det har afsluttet alle sine opgaver. Dette skyldes, at det venter på, at den ikke-dæmoniske tråd skal afslutte sin operation og derefter afslutte grænsefladen. Når tråden er færdig med sin drift, afsluttes kun programmet.

forklare forskellen mellem foranderlige og uforanderlige objekter.

Lad os nu ændre ovenstående program og se, hvad der sker, hvis vi indsætter en dæmontråd i koden.

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

Når du kører ovenstående program med de foretagne ændringer, vil det se sådan ud.

Forskellen mellem disse to output er, at den sidste linje mangler i den seneste. Thread_function () fik ikke en chance for at fuldføre, fordi vi indsatte en daemon-tråd, og da den snart nåede slutningen, forlod den programmet.

Tilslutning til en tråd

Nu hvor du har lært om begrebet oprettelse af en tråd i Python sammen med begrebet en dæmonisk tråd, så lad os opdage, hvordan du kan slutte tråde i Python.

Ved at bruge funktionen join () i Python kan du deltage i to forskellige tråde og også instruere den ene om at vente på den anden, indtil den er færdig med udførelsen. Denne funktion vil ofte være praktisk, når du koder store applikationer, og du har brug for alle processer, der skal udføres i en bestemt rækkefølge

Den sidste del af denne artikel om 'Threading in Python' viser dig de fungerende Multiple Threads,

Arbejde med flere tråde

I eksemplerne ovenfor har vi talt om, hvordan du kan arbejde med to tråde på én gang. Men hvad nu hvis du i en bestemt situation skal arbejde med flere tråde på samme tid. For bedre forståelse af situationen, se eksemplet nedenfor.

import logging import threading import tid def thread_function (navn): logging.info ('Tråd% s: start', navn) time.sleep (2) logging.info ('Tråd% s: efterbehandling', navn) hvis __name__ == '__main__': format = '% (asctime) s:% (meddelelse) s' logging.basicConfig (format = format, niveau = logging.INFO, datefmt = '% H:% M:% S') tråde = liste ( ) til indeks i rækkevidde (3): logging.info ('Main & ampampampnbsp & ampampampnbsp: create and start thread% d.', index) x = threading.Tråd (target = thread_function, args = (index,)) threads.append (x ) x.start () for index, thread in enumerate (threads): logging.info ('Main & ampampampnbsp & ampampampnbsp: before joining thread% d.', index) thread.join () logging.info ('Main & ampampampnbsp & ampampampnbsp: thread% d færdig ', indeks)

Produktion

I ovenstående program har vi fulgt den samme procedure til at importere trådbiblioteket, starte tråden, oprette flere tråde og derefter bruge funktionen join () til at kombinere alle sammen og udføres i en bestemt rækkefølge.

Når du kører ovenstående program, vil resultatet se sådan ud.

Konklusion

Det er en af ​​de mest praktiske funktioner i Python. Ved at bruge det på den rigtige måde kan du gøre hele din kodningsproces meget lettere og effektiv. Fra ovenstående artikel håber vi, at du har lært det grundlæggende i threading og vil fortsætte med at bruge det i din daglige programmering.

Så det er det, jeg håber, du kunne lide denne artikel.

rund dobbelt til int java

For at få dybdegående viden om Python sammen med dens forskellige applikationer kan du til live online træning med support døgnet rundt og adgang til hele livet.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet i denne artikel, så vender vi tilbage til dig.