Siūlai „Python“: sužinokite, kaip dirbti su „Python“ temomis



Šiame straipsnyje apie „Python“ sriegį bus pasakyta, kas yra gijos, jos tipai, kaip jas paleisti ir kuo geriau panaudoti

Šiandien yra viena mylimiausių programavimo kalbų visame pasaulyje. Nuo pat savo veiklos pradžios 1990-aisiais jis susilaukė daugybės stebėtojų ir entuziastų bei koduotojų, kurie kasdien dirba, kad ši programavimo kalba būtų geresnė. Tarp daugybės „Python“ ekosistemoje įdiegtų funkcijų labiausiai išsiskiria „Threading“. Todėl šiame straipsnyje mes kalbėsime apie „Python“ diegimą „Python“, kaip galite juo pasinaudoti kartu su jo privalumais ir trūkumais.

Tolimesni patarimai bus aptarti šiame straipsnyje,





Pradėkime

Siūlai „Python“

Kas yra „Python“ gija?

„Python“ gijas galima paprasčiausiai apibrėžti kaip atskirą vykdymo srautą. Ką tai tiesiog reiškia, kad jūsų programoje vienu metu bus vykdomi du skirtingi procesai. Vienas įdomus „Python“ gijų aspektas yra tai, kad po 3 versijos kelios „Python“ gijos nevykdomos tuo pačiu metu, bet jos tik atrodo.



Nors yra nuostabus jausmas paleisti du skirtingus procesus vienu metu, reikia suprasti, kad dabartinė „Python 3“ ir naujesnių versijų versija yra užkoduota taip, kad bet kurį laiką galima paleisti tik tą procesą. Tačiau jei tuo pačiu metu „CPython“ reikia dviejų ar daugiau procesų kartu, kai kuriuos savo kodus taip pat turite užkoduoti kitomis kalbomis, pvz., C, C ++ ir „Java“, ir tada paleisti juos per daugybę siūlų „Python“.

Vienas iš labiausiai žinomų „Python“ siūlų pranašumų yra jo gebėjimas įgyti aiškumo projektui.

Prieš tai turime idėją apie „Threading“ „Python“, supraskime, kaip pradėti giją,



„Threading“ paleidimas „Python“

Dabar, kai esate įpratęs prie „Python“ gijos apibrėžimo, pažvelkime į pavyzdį, kaip galite sukurti savo giją „Python“. Norėdami sukurti „Python“ giją, pirmiausia turite importuoti gijų biblioteką ir nurodyti jai pradėti (), kaip parodyta toliau pateiktame pavyzdyje:

importuoti registravimą importuoti sriegius importavimo laikas def thread_function (pavadinimas): logging.info ('Gija% s: pradžia', vardas) time.sleep (2) logging.info ('Gija% s: apdaila', vardas) if __name__ == '__main__': format = '% (asctime) s:% (žinutė) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') logging.info ( „Main & ampampampnbsp & ampampampnbsp: prieš sukuriant siūlą“) x = siūlai. Siūlai (target = thread_function, args = (1,)) logging.info ('Main & ampampampnbsp & ampampampnbsp: prieš paleidžiant siūlą') x.start () logging.info ('Main & ampampampnbsp & ampampampnbsp: palaukite, kol gija bus baigta ') # x.join () logging.info (' Pagrindinis ir ampampampnbsp & ampampampnbsp: viskas atlikta ')

Rezultatas

Išvestis - sriegimas „Python“ - „Edureka“

Vykdydami giją „Python“, jūs perduodate ją kaip funkciją, kurioje yra argumentų, kuriuos reikia vykdyti, sąrašas. Aukščiau pateiktame pavyzdyje nurodote „Python“ paleisti giją, thread_function () ir perduoti ją kaip argumentą 1.

Kai paleisite aukščiau nurodytą programą, išvestis atrodys maždaug taip.

Kitas šio straipsnio „Temų siejimas„ Python ““ bituose pažiūrėkime, kas yra „deemon“ gijos,

Kas yra „Daemon“ siūlai?

Pagal techninę terminologiją demoną galima apibrėžti kaip procesą, kuris pirmiausia vyksta fone. Tačiau „Python“ programoje „daemon“ gija turi labai konkrečią prasmę. „Python“ programoje „daemon“ gija bus išjungta tuo metu, kai programa bus uždaryta, nors kitomis programavimo kalbomis ji ir toliau veiks fone. Jei tam tikroje programoje gija nėra užprogramuota kaip „daemon“ gija, vertėjas lauks, kol ji baigs savo operaciją, ir tada tik išjungs vertėją.

Norėdami geriau suprasti šią sąvoką, pažvelkite į aukščiau pateiktą pavyzdį. Antroje paskutinėje eilutėje programa laukia kelias sekundes, kai atliks visas užduotis. Taip yra todėl, kad jis laukia, kol ne daemoniškas siūlas baigs veikti ir tada išeis iš sąsajos. Kai gija baigs veikti, programa išeis tik iš programos.

Dabar modifikuokime pirmiau nurodytą programą ir pažiūrėkime, kas atsitiks, jei į kodą įterpsime „deemon“ giją.

Naujas kodas: x = threading. Thread (target = thread_function, args = (1,), daemon = True)

Kai paleisite aukščiau nurodytą programą su atliktais pakeitimais, ji atrodys maždaug taip.

Šių dviejų rezultatų skirtumas yra tas, kad paskutinėje eilutėje nėra paskutinės eilutės. „Thread_function ()“ negavo galimybės užbaigti, nes įterpėme „deemon“ giją ir jai greitai pasiekus pabaigą, ji išėjo iš programos.

Prisijungimas prie gijos

Dabar, kai sužinojote apie „Python“ gijos sukūrimo koncepciją kartu su daemoniškos gijos koncepcija, leiskite mums sužinoti, kaip galite sujungti „Python“ gijas.

Naudodamiesi „Python“ funkcija join (), galite sujungti dvi skirtingas gijas ir taip pat nurodyti vienam laukti kito, kol jis baigs vykdyti. Ši funkcija dažnai pravers, kai koduojate dideles programas ir jums reikia, kad visi procesai būtų vykdomi tam tikra tvarka

Paskutinis šio straipsnio „Threading in Python“ bitas parodys jums veikiančias kelias gijas,

Darbas su keliais siūlais

Pirmiau pateiktuose pavyzdžiuose mes kalbėjome apie tai, kaip galite dirbti su dviem gijomis vienu metu. Bet ką daryti, jei tam tikroje situacijoje reikia dirbti su keliais siūlais tuo pačiu metu. Norėdami geriau suprasti situaciją, pažvelkite į toliau pateiktą pavyzdį.

kaip nuskaityti char java
importuoti registravimą importuoti sriegius importavimo laikas def thread_function (pavadinimas): logging.info ('Gija% s: pradžia', vardas) time.sleep (2) logging.info ('Gija% s: apdaila', vardas) if __name__ == '__main__': format = '% (asctime) s:% (message) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') gijos = sąrašas ( ) indekso diapazone (3): logging.info ('Main & ampampampnbsp & ampampampnbsp: sukurti ir paleisti giją% d.', rodyklė) x = sriegimas. Sriegis (target = thread_function, args = (index,)) threads.append (x ) x.start () indeksui, gijai surašyti (temos): logging.info ('Pagrindinis ir ampampampnbsp & ampampampnbsp: prieš prisijungiant prie gijos% d., rodyklė) thread.join () logging.info (' Pagrindinis ir ampampampnbsp & ampampampnbsp: gija% d padaryta “, rodyklė)

Rezultatas

Pirmiau minėtoje programoje mes atlikome tą pačią gijų bibliotekos importavimo procedūrą, paleidę giją, sukūrę kelias gijas ir tada naudodami „join ()“ funkciją, kad sujungtumėte visus kartu ir vykdytume tam tikra tvarka.

Kai paleisite aukščiau nurodytą programą, rezultatas atrodys maždaug taip.

Išvada

Tai yra viena iš patogiausių „Python“ funkcijų. Teisingai jį naudodami galite padaryti visą savo kodavimo procesą daug lengvesnį ir efektyvesnį. Iš aukščiau pateikto straipsnio tikimės, kad išmokote sriegimo pagrindų ir toliau naudosite jį kasdieniniame programavime.

Taigi, tai vaikinai, tikiuosi, kad jums patiko šis straipsnis.

Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite tiesioginėms internetinėms treniruotėms, palaikančioms visą parą visą parą ir visą gyvenimą.

Turite mums klausimą? Paminėkite juos šio straipsnio komentarų skyriuje ir mes su jumis susisieksime.