Ngayon, ay isa sa pinakamamahal na wika ng programa sa buong mundo. Mula pa noong pagsisimula nito noong 1990s, nakakuha ito ng isang malaking tagasunod at mga taong mahilig at mga coder na nagtatrabaho araw-araw upang gawing mas mahusay ang wikang ito sa programa. Kabilang sa maraming mga tampok na in-built sa Python ecosystem, ang isa na pinakatanyag ay ang Threading. Samakatuwid sa artikulong ito, pag-uusapan natin ang lahat tungkol sa Threading sa Python, kung paano mo ito magagamit kasama ang mga kalamangan at kalamangan.
Saklaw ang artikulong ito sa artikulong ito,
- Ano ang isang Thread sa Python?
- Simula ng isang Thread sa Python
- Ano ang Mga Daemon Thread?
- Paggawa gamit ang Maramihang Mga Thread
Threading In Python
Ano ang isang Thread sa Python?
Ang isang thread sa Python ay maaaring tinukoy bilang isang hiwalay na daloy ng pagpapatupad. Ang ibig sabihin lamang nito na sa iyong programa, dalawang magkakaibang proseso ang isasagawa sa parehong oras. Ang isang kagiliw-giliw na aspeto ng pag-thread sa Python ay ang katunayan na, pagkatapos ng bersyon 3 maraming mga thread sa Python ay hindi naisagawa nang sabay, ngunit lumilitaw lamang ito sa.
Habang ito ay isang kamangha-manghang pakiramdam na magpatakbo ng dalawang magkakaibang proseso sa parehong oras, kailangang maunawaan ng isa na ang kasalukuyang bersyon ng Python 3 at sa itaas ay naka-code sa isang paraan, ang proseso lamang na iyon ang maaaring patakbuhin sa anumang naibigay na punto sa oras. Kung kailangan mo ng dalawa o higit pang mga proseso nang magkakasabay sa parehong oras sa CPython, kailangan mong i-code ang ilan sa iyong code sa iba pang mga wika, tulad ng C, C ++ at Java, at pagkatapos ay patakbuhin ang mga ito sa pamamagitan ng multi threading sa Python.
Ang isa sa mga pinaka kilalang kalamangan ng pag-thread sa Python ay ang kakayahang magbigay ng isang nakuha sa kalinawan ng disenyo.
Bago iyon mayroon kaming ilang ideya tungkol sa Threading sa Python, ipaalam sa amin kung paano magsimula ng isang thread,
kung paano ipatupad ang naka-link na listahan sa c
Simula ng isang Thread sa Python
Ngayong nasanay ka sa kahulugan ng isang thread sa Python, tingnan natin ang isang halimbawa kung paano ka makakalikha ng iyong sariling thread sa Python. Upang makalikha ng isang thread sa Python, kailangan mo munang i-import ang thread library at pagkatapos ay turuan ito upang magsimula () tulad ng ipinakita sa halimbawa sa ibaba:
mag-import ng pag-log i-import ang pag-import ng oras ng pag-import def thread_unction (pangalan): logging.info ('Thread% s: pagsisimula', pangalan) time.s Sleep (2) logging.info ('Thread% s: pagtatapos', pangalan) kung __name__ == '__main__': format = '% (asctime) s:% (message) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') logging.info ( 'Main & ampampampnbsp & ampampampnbsp: bago lumikha ng thread') x = threading. Thread (target = thread_unction, args = (1,)) logging.info ('Main & ampampampnbsp & ampampampnbsp: bago patakbuhin ang thread') x.start () logging.info ('Main & ampampampnbsp & ampampampnbsp: hintaying matapos ang thread ') # x.join () pag-log.info (' Pangunahing & ampampampnbsp & ampampampnbsp: lahat ay tapos na ')
Paglabas
Kapag nagpatakbo ng isang thread sa Python, ipinapasa mo ito bilang isang pagpapaandar na naglalaman ng isang listahan ng mga argumento na kailangan nito upang maisagawa. Sa halimbawang ibinahagi sa itaas, tinuturo mo sa Python na patakbuhin ang thread, thread_unction () at ipasa ito sa 1 bilang isang pagtatalo.
Kapag pinatakbo mo ang nasa itaas na programa, ang output ay magmumukhang ganito.
Susunod na piraso ng artikulong ito sa 'Threading in Python' ipaalam sa amin na makita kung ano ang mga daemon thread,
Ano ang Mga Daemon Thread?
Sa teknikal na terminolohiya, ang daemon ay maaaring tukuyin bilang isang proseso na pangunahing tumatakbo sa likuran. Gayunpaman, sa Python, ang isang daemon thread ay may isang tiyak na kahulugan. Sa Python isang daemon thread ay magsasara sa sandali na lumabas ang programa, kahit na sa iba pang mga wika ng programa ay magpapatuloy ito sa pagtakbo sa background. Kung sa isang tiyak na programa, ang isang thread ay hindi nai-program bilang isang thread ng daemon, pagkatapos ay maghihintay ang interpreter na matapos nito ang operasyon nito at pagkatapos ay i-shutdown lamang ang interpreter.
Upang maunawaan ang konseptong ito nang mas mahusay tingnan ang halimbawa sa itaas. Sa pangalawang huling linya, naghihintay ang programa ng ilang segundo matapos nitong matapos ang lahat ng mga gawain nito. Ito ay dahil hinihintay nito ang non-daemonic thread upang matapos ang operasyon nito at pagkatapos ay lumabas sa interface. Kapag natapos na ng thread ang pagpapatakbo nito, lalabas lamang ang programa.
Ngayon ay baguhin natin ang nasa itaas na programa at tingnan kung ano ang mangyayari, kung isingit natin ang isang daemon thread sa code.
Bagong code: x = threading. Thread (target = thread_unction, args = (1,), daemon = True)
Kapag pinatakbo mo ang nasa itaas na programa gamit ang mga nabagong pagbabago, magmumukhang ganito.
Ang pagkakaiba sa pagitan ng dalawang mga output ay ang panghuling linya ay nawawala mula sa pinakabagong. Ang thread_unction () ay hindi nakakuha ng isang pagkakataon upang makumpleto, dahil nagsingit kami ng isang daemon thread at sa lalong madaling panahon na umabot ito sa dulo, lumabas ito ng programa.
Pagsali sa isang Thread
Ngayon na natutunan mo ang tungkol sa konsepto ng paglikha ng isang thread sa Python, kasama ang konsepto ng isang daemonic thread, alamin namin kung paano ka makakasali sa mga thread sa Python.
tutorial ng developer ng salesforce para sa mga nagsisimula sa pdf
Sa pamamagitan ng paggamit ng function na sumali () sa Python maaari kang sumali sa dalawang magkakaibang mga thread, at magturo din sa isa na maghintay para sa iba hanggang matapos nito ang pagpapatupad nito. Ang tampok na ito ay madalas na madaling gamitin kapag ikaw ay coding malaking aplikasyon at kailangan mo ang lahat ng mga proseso upang maipatupad sa isang partikular na order
Ang huling piraso ng artikulong ito sa 'Threading in Python' ay magpapakita sa iyo ng gumaganang Maramihang Mga Thread,
Paggawa gamit ang Maramihang Mga Thread
Sa mga halimbawa sa itaas ay sinalita namin tungkol sa kung paano ka maaaring gumana sa dalawang mga thread nang sabay-sabay. Ngunit paano kung sa isang tiyak na sitwasyon, kailangan mong magtrabaho kasama ang maraming mga thread nang sabay. Para sa mas mahusay na pag-unawa sa sitwasyon, tingnan ang halimbawa sa ibaba.
pivot at undivot sa sql
mag-import ng pag-log i-import ang pag-import ng oras ng pag-import def thread_unction (pangalan): logging.info ('Thread% s: pagsisimula', pangalan) time.s Sleep (2) logging.info ('Thread% s: pagtatapos', pangalan) kung __name__ == '__main__': format = '% (asctime) s:% (message) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') mga thread = list ( ) para sa index sa saklaw (3): logging.info ('Pangunahing & ampampampnbsp & ampampampnbsp: lumikha at simulan ang thread% d.', index) x = threading. Thread (target = thread_unction, args = (index,)) threads.append (x ) x.start () para sa index, thread sa enumerate (thread): logging.info ('Main & ampampampnbsp & ampampampnbsp: bago sumali sa thread% d.', index) thread. sumali sa () pag-log.info ('Pangunahing & ampampampnbsp & ampampampnbsp: thread% d tapos na ', index)
Paglabas
Sa program sa itaas sinundan namin ang parehong pamamaraan ng pag-import ng library ng thread, sinisimulan ang thread, paglikha ng maraming mga thread at pagkatapos ay gamitin ang function na sumali () upang pagsamahin ang lahat nang magkasama at maisagawa sa isang partikular na pagkakasunud-sunod
Kapag pinatakbo mo ang nasa itaas na programa, ang resulta ay magmukhang ganito.
Konklusyon
Ito ay isa sa mga pinaka madaling gamiting tampok ng Python. Sa pamamagitan ng paggamit nito sa tamang paraan, maaari mong gawing mas madali at mahusay ang iyong buong proseso ng pag-coding. Mula sa artikulo sa itaas inaasahan namin na natutunan mo ang mga pangunahing kaalaman sa pag-thread at patuloy na gagamitin ito sa iyong pang-araw-araw na pag-program.
Kaya ito ang mga tao Umaasa ako na nagustuhan mo ang artikulong ito.
Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari mo para sa live na pagsasanay sa online na may suporta na 24/7 at habang-buhay na pag-access.
May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng mga komento ng artikulong ito at babalikan ka namin.