Trådning i Python: Lär dig hur du arbetar med trådar i Python



Den här artikeln om trådning i Python kommer att berätta vad som är trådar, dess typer, hur man startar dem och använder dem på bästa möjliga sätt

I dag, är ett av de mest älskade programmeringsspråken över hela världen. Sedan starten på 1990-talet har det fått en enorm efterföljare och entusiaster och kodare som arbetar varje dag för att göra detta programmeringsspråk bättre. Bland de många funktionerna som finns inbyggda i Python-ekosystemet är en som sticker ut mest Threading. Därför kommer vi i den här artikeln att prata allt om trådning i Python, hur du kan använda det tillsammans med dess fördelar och nackdelar.

Följande tips kommer att behandlas i den här artikeln,





Låt oss komma igång

Trådning i Python

Vad är en tråd i Python?

En tråd i Python kan helt enkelt definieras som ett separat flöde av körning. Vad detta helt enkelt betyder att i ditt program kommer två olika processer att utföras samtidigt. En intressant aspekt av trådning i Python är det faktum att flera versioner i Python efter version 3 inte körs samtidigt, men de verkar bara.



Även om det är en fantastisk känsla att köra två olika processer samtidigt, måste man förstå att den nuvarande versionen av Python 3 och högre är kodad på ett sådant sätt att endast processen kan köras vid en viss tidpunkt. Om du emellertid behöver två eller flera processer samtidigt i CPython, måste du också koda en del av din kod på andra språk, till exempel C, C ++ och Java, och sedan köra dem genom multitrådning i Python.

En av de mest kända fördelarna med trådning i Python är dess förmåga att ge en tydlig design.

Innan det har vi en idé om trådning i Python, låt oss förstå hur man startar en tråd,



Starta en tråd i Python

Nu när du är van vid definitionen av en tråd i Python, låt oss titta på ett exempel på hur du kan skapa din egen tråd i Python. För att skapa en tråd i Python måste du först importera trådbiblioteket och sedan instruera det att starta () som visas i exemplet nedan:

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:% (meddelande) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') logging.info ( 'Huvud & ampampampnbsp & ampampampnbsp: innan du skapar tråd') x = threading.Thread (target = thread_function, args = (1,)) logging.info ('Main & ampampampnbsp & ampampampnbsp: before running thread') x.start () logging.info ('Main & ampampampnbsp & ampampampnbsp: vänta tills tråden slutar ') # x.join () logging.info (' Main & ampampampnbsp & ampampampnbsp: all done ')

Produktion

Output - Trådning i Python - Edureka

hur man hanterar popup i selen webdriver

När du kör en tråd i Python skickar du den som en funktion som innehåller en lista med argument som den behöver utföra. I exemplet som delas ovan instruerar du Python att köra tråden, thread_function () och skicka den till 1 som ett argument.

När du kör programmet ovan ser utgången ungefär så här.

Nästa bit av den här artikeln om 'Trådning i Python' låt oss se vad daemontrådar är,

Vad är Daemon-trådar?

I teknisk terminologi kan daemon definieras som en process som främst går i bakgrunden. Men i Python har en daemon-tråd en mycket specifik betydelse. I Python stängs en demontråd av när programmet avslutades, även om det i andra programmeringsspråk fortsätter att köras i bakgrunden. Om en tråd inte är programmerad som en daemon-tråd i ett visst program, så väntar tolken tills den är klar och avslutar sedan bara tolken.

För att förstå detta koncept bättre ta en titt på exemplet ovan. På den näst sista raden väntar programmet några sekunder efter att det har avslutat alla sina uppgifter. Detta beror på att den väntar på att den icke-demoniska tråden ska avsluta sin operation och sedan lämna gränssnittet. När tråden är klar, avslutas bara programmet.

Låt oss nu ändra ovanstående program och se vad som händer om vi sätter in en daemon-tråd i koden.

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

När du kör programmet ovan med de modifieringar som görs kommer det att se ut så här.

Skillnaden mellan dessa två utgångar är att den sista raden saknas i den senaste. Thread_function () fick inte chansen att slutföra, eftersom vi satte in en daemon-tråd och när den snart nådde slutet lämnade den programmet.

Sammanfoga en tråd

Nu när du har lärt dig om begreppet att skapa en tråd i Python, tillsammans med begreppet en demonisk tråd, låt oss upptäcka hur du kan gå med i trådar i Python.

Genom att använda funktionen join () i Python kan du gå med i två olika trådar och instruera den ena att vänta på den andra tills den är klar. Den här funktionen kommer ofta att vara till nytta när du kodar stora applikationer och du behöver alla processer som ska köras i en viss ordning

Den sista delen av den här artikeln om ”Trådning i Python” visar dig de arbetande flertalet trådar,

Arbeta med flera trådar

I exemplen ovan har vi talat om hur du kan arbeta med två trådar samtidigt. Men tänk om du i en viss situation måste arbeta med flera trådar samtidigt. För en bättre förståelse av situationen, ta en titt på exemplet nedan.

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:% (meddelande) s' logging.basicConfig (format = format, nivå = logging.INFO, datefmt = '% H:% M:% S') trådar = lista ( ) för index i intervall (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 () för index, tråd i enumerate (trådar): logging.info ('Main & ampampampnbsp & ampampampnbsp: before joining thread% d.', index) thread.join () logging.info ('Main & ampampampnbsp & ampampampnbsp: thread% d gjort ', index)

Produktion

I ovanstående program har vi följt samma procedur för att importera trådbiblioteket, starta tråden, skapa flera trådar och sedan använda funktionen join () för att kombinera alla tillsammans och köras i en viss ordning.

hur man gör en hög i java

När du kör programmet ovan ser resultatet ungefär så här ut.

Slutsats

Det är en av de mest praktiska funktionerna i Python. Genom att använda den på rätt sätt kan du göra hela kodningsprocessen mycket enklare och effektivare. Från artikeln ovan hoppas vi att du har lärt dig grunderna för trådning och kommer att fortsätta använda den i din dagliga programmering.

Så det här är det jag hoppas att du gillade den här artikeln.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du för live onlineträning med support dygnet runt och livstidsåtkomst.

Har du en fråga till oss? Nämn dem i kommentarsektionen i den här artikeln så återkommer vi till dig.