Python får tråd -ID

Python får tråd -ID
Et heltall som er positivt når en tråd opprettes, får navnet "Tråd ID". “Get_indent ()” og “get_native_id ()” -metodene kan brukes til å skaffe tråden ID. Metoden “get_native_id ()” returnerer en ID som er gitt av kjernen og er også en heltallsverdi. Mens "get_indent ()" -metodene returnerer en distinkt ID som er et heltallnummer. Vi må importere trådmodulen til Python for å starte en tråd før vi kan finne tråd -ID -ene.

Eksempel 1: Bruke gjenging.get_ident () metode i python tråder.

“Gjengingen.get_ident () ”-metoden vil bli brukt i dette eksemplet for å få tråd -ID i et Python -skript. Vi må først bygge en tråd i Python -skriptet for dette. Python -tråder er en type prosessobjekt som kan ha planlagt utførelsen. En tråd er en beregningsprosess som en datamaskin vil utføre. Et programs sett med slike instruksjoner som kan utføres separat fra andre instruksjoner er hva dette er. Når en tråd startes, genereres et langvarig positivt tall som kalles tråd -ID. Trådidentifikatoren er konstant og unik under en tråds fulle livssyklus. Når tråden er avsluttet, kan den brukes igjen. I tillegg blir hver tråd gjenkjent. Hver tråd vil motta en heltalidentifikasjon fra Python. "Get_ident ()" -funksjonen kan brukes til å få denne informasjonen. Metoden “get_native_id ()” kan brukes til å hente det særegne heltallet som operativsystemet gir til hver tråd.

La oss nå begynne å utføre koden i praksis ved å bruke “Spyder” -verktøyet, som er mye enklere å bruke og forstå for Python enn andre verktøy som Visual Studio Code. Vi importerer "tråden" -modulen fordi vi konstruerer en tråd i den første kodelinjen. Den andre kodelinjen importerer “Time” -modulen, som gir en rekke kodingsformater for tid, inkludert varer, tall og strenger. Bortsett fra tidsrepresentasjon, gir den også muligheter som å vente mens skriptet ditt blir utført og vurderer effektiviteten til skriptet ditt.

Da dette er en brukerdefinert funksjon, står vi fritt til å gi det noe navn vi liker. Derfor lager vi en funksjon med navnet "func" og bruker "tiden.Sleep () ”-funksjon for å sette et intervall av tid på“ 3 ”sekunder. Så snart vi bruker "Sleep ()" -funksjonen og setter tiden, tar systemet vårt et øyeblikk for den perioden før vi utfører uttalelsen der vi brukte "Sleep ()" -funksjonen. Etter det bruker vi "Print ()" -funksjonen, og passerer "Gjenging.Få ident () "for å hente tråd -ID og inngangsstrengen" Jeg elsker koding "inne i parentesene. Nå som vi har levert tiden for “3” sekunder i “tiden.Sleep () ”-metode, systemet vårt vil sove i“ 3 ”sekunder før vi viser denne uttalelsen og IDen.

Nå skal vi lage en tråd og ringe funksjonen i den ved å bruke “Gjenging.Tråd () ”Inni i den passerte vi“ Target = func ”-argumentet, som betyr å kalle funksjonen innenfor tråden. Vi lagret denne tråden i variabelen “T1”, som vi initialiserte, og startet den i følgende linje ved å ringe “T1.start()".

Når vi utfører koden, stopper systemet vårt i tre sekunder før vi viser utskriftserklæringen, "Jeg elsker koding" og tråd -ID, "13116.”Vi brukte“ Gjenging.get_ident () ”ovenfor for å få tråd -ID fordi tråd -IDen skal være et positivt numerisk heltall. Så du kan være sikker på at IDen er et positivt heltall ved å se på tråd -ID -en.

Nå, i neste avsnitt, bruker vi den samme koden og “Gjenging.Få ident (), ”. Men vi kommer til å legge til en ny tråd fordi det i forrige del av koden bare var en tråd nå, det er to, og vi må finne deres ID -er. For å gjøre dette, akkurat som i seksjonen over, importerer vi først de to bibliotekene "Gjenging" og "Time". Etter å ha definert en funksjon, bruker vi “tid.Sleep () ”Men denne gangen setter vi tiden til“ 1 ”sekund. Neste, vi kaller “print ()” og passerer “Gjenging.Få ident () "for å få tråd -ID -ene så vel som inngangsuttalelsen“ Jeg elsker koding.”I dette tilfellet benyttet vi oss også av heltallverdiekilden“%d ”.

Vi vil nå lage to tråder og ringe funksjonene i hver tråd. Tråd 1 blir lagret i "T1" -variabelen og tråden 2 vil bli lagret i "T2" -variabelen. Vi vil da kalle funksjonen “func” i tråd 1 ved å bruke “Gjenging.Tråd, ”passerer“ Target = func, ”og gjenta prosessen for tråd 2. Til slutt vil vi bruke "start ()" -funksjonen for å starte begge trådene.

Systemet stopper operasjonen for “1” sekund på grunn av “Sleep ()” når vi trykker på Kjør -knappen for å vise resultatene på skjermen. Den viser deretter ID -ene for begge trådene og uttalelsen: den første trådens ID er "11436" og den andre trådens ID er "11472".

Eksempel 2: Bruke gjenging.get_native_id () metode i python tråder.

I dette eksemplet vil trådens ID bli oppnådd ved hjelp av tråden.get_native_id () teknikk. Den brukes til å hente de innfødte tråder -IDen som kjernen har tildelt den nåværende tråden. Den aktive tråden i hele systemet identifiseres med denne verdien. “Gjengingen.get_native_id () ”metode returnerte numeriske verdier med et ikke-null nummer for ID.

La oss nå begynne å implementere koden. Først importerer vi de to bibliotekene "tråd" og "tid.”Deretter definerer vi en funksjon med navnet“ func.”Neste, vi kaller“ tiden.Sleep () ”-metode og sett tidtakeren i“ 2 ”sekunder. Deretter, i den følgende linjen, kaller vi "Print ()" -funksjonen og passerer uttalelsen “Python er det raskest voksende programmeringsspråket”. I den følgende linjen vil vi bruke “Gjenging.Tråd () ”For å lage en tråd, og inni den, vil vi passere“ func ”som et argument for å kalle funksjonen“ func ”i tråden. Denne tråden holdes i variabelen “T1”, og deretter startes trådutførelsen ved å ringe “T1.start()".

"Native ID" til tråden, som er "8580", er skrevet ut i utgangen sammen med inngangsuttalelsen. Men før den ble vist, ble uttalelsenes utførelse stoppet i to sekunder fordi vi hadde brukt “tiden.Sleep () ”-funksjon.

Vi vil nå opprette de to funksjonene i neste avsnitt “Setning1” og “Setning2”. Tiden.Sleep () ”-metode kalles inne i“ setning1 ”-funksjonen og tidsparameteren sendes som“ 1 ”sekunder. Deretter kaller vi "print ()" -funksjonen i følgende linje og innsiden av den kaller vi "tråden.get_native_id ”og inndata uttalelsen. For den andre funksjonen, "setning2", gjentar vi prosessen, men hopper over bruken av "tiden.Sleep () ”-funksjon for å oppnå tråd -ID som kjernen har tildelt og sende inngangserklæringen.

For den første tråden brukte vi “Gjenging.tråd "og kalte funksjonen ved å passere“ setning1 ”inne i parentesen som argument. Vi lagret denne tråden i variabelen “T1”. Vi vil nå lage to tråder i trinnet for den andre tråden, vi gjentok prosessen, men denne gangen kalte vi den andre funksjonen, “Setning2,” og lagret denne tråden i “T2”. Trådens henrettelser ble deretter startet ved å bruke “Start ()” sammen med “T1” og “T2”.

Du kan se at den umiddelbart skriver ut den andre trådens innfødte ID, som er "10636", sammen med den trykte uttalelsen. Deretter viste den IDen til tråd 1, som er "7400", fordi når funksjon en blir kalt, setter vi tidsintervallet i “1” sekunder, noe som får utførelsen til å stoppe i ett sekund, så den går raskt videre til neste henrettelse.

Konklusjon

Denne artikkelen har undersøkt forskjellige tilnærminger for å få en tråd -ID i Python. “Gjengingen.get_ident () ”-metode og“ Gjenging.get_native id () ”-metoden har begge blitt brukt i eksemplene. Begge disse metodene returnerer trådenes unike identifikasjon, som må være ikke-null og reelle tallverdier. I eksemplet benyttet vi oss også.Sleep () ”-metode for å utsette utførelsen av trådene.