Тхреадинг ин Питхон: Сазнајте како радити са нитима у Питхону



Овај чланак о Тхреадинг-у у Питхону рећи ће вам шта су Тхреадс, њихови типови, како их покренути и искористити на најбољи могући начин

Данас, је један од најомиљенијих програмских језика широм света. Од свог оснивања 1990-их, прикупио је огромно следбеника и ентузијаста и програмера који свакодневно раде на побољшању овог програмског језика. Међу многим карактеристикама које се уграђују у Питхон екосистем, једна од њих се највише истиче Тхреадинг. Стога ћемо у овом чланку говорити о Тхреадинг-у у Питхону, како га можете искористити заједно са предностима и недостацима.

Следећи смерници ће бити обрађени у овом чланку,





Почнимо

Тхреадинг у Питхону

Шта је нит у Питхону?

Нит у Питхону може се једноставно дефинисати као засебан ток извршења. То једноставно значи да ће се у вашем програму истовремено извршити два различита процеса. Један занимљив аспект увођења нити у Питхон је чињеница да се након верзије 3 више нити у Питхону не извршавају истовремено, већ само изгледају.



Иако је невероватан осећај истовремено покретати два различита процеса, треба схватити да је тренутна верзија Питхон-а 3 и новијих кодирана на такав начин, да се само процес може покренути у било ком тренутку. Ако вам је пак потребно истовремено два или више процеса заједно у ЦПитхон-у, потребно је да кодирате неки свој код и на другим језицима, као што су Ц, Ц ++ и Јава, а затим их покрените кроз више навоја у Питхону.

Једна од најпознатијих предности навоја навоја у Питхону је његова способност да пружи добитак у јасноћи дизајна.

Пре тога имамо неку идеју о Тхреадинг-у у Питхону, хајде да разумемо како да започнемо нит,



Покретање теме у Питхону

Сада када сте се навикли на дефиницију нити у Питхону, погледајмо пример како можете да креирате сопствену нит у Питхону. Да бисте креирали нит у Питхону, прво требате да увезете библиотеку нити, а затим јој наложите да покрене () као што је приказано у примеру испод:

импорт логгинг увоз навоја навоја увоз деф тхреад_фунцтион (наме): логгинг.инфо ('Тема% с: стартна', име) тиме.слееп (2) логгинг.инфо ('Нит% с: завршна обрада', име) ако је __наме__ == '__маин__': формат = '% (асцтиме) с:% (мессаге) с' логгинг.басицЦонфиг (формат = формат, левел = логгинг.ИНФО, датефмт = '% Х:% М:% С') логгинг.инфо ( 'Главни & ампампампнбсп & ампампампнбсп: пре стварања нити') к = навоја. Тхреад (таргет = тхреад_фунцтион, аргс = (1,)) логгинг.инфо ('Маин & ампампампнбсп & ампампампнбсп: пре покретања нити') к.старт () логгинг.инфо ('Маин & ампампампнбсп & ампампампнбсп: сачекајте да се нит заврши ') # к.јоин () логгинг.инфо (' Главна & ампампампнбсп & ампампампнбсп: све готово ')

Оутпут

Излаз - Тхреадинг у Питхону - Едурека

Када покренете нит у Питхону, преносите је као функцију која садржи листу аргумената које треба извршити. У горенаведеном примеру, упутите Питхон-у да покрене нит, тхреад_фунцтион () и преда је на 1 као аргумент.

Када покренете горњи програм, излаз ће изгледати отприлике овако.

Следећи део овог чланка о „Тхреадинг ин Питхон“ да видимо шта су даемон нити,

Шта су Даемон Тхреадс?

У техничкој терминологији, демон се може дефинисати као процес који првенствено ради у позадини. Међутим, у Питхону, демон демон има врло специфично значење. У Питхону даемон нит ће се искључити оног тренутка када је програм изашао, иако ће у другим програмским језицима наставити да ради у позадини. Ако у одређеном програму нит није програмирана као демон демон, интерпретер ће сачекати да заврши са радом, а затим само искључити тумач.

Да бисте боље разумели овај концепт, погледајте горњи пример. У другом последњем реду, програм чека неколико секунди након што заврши све своје задатке. То је зато што чека да недемонска нит заврши свој рад, а затим изађе из интерфејса. Једном када нит заврши свој рад, тада програм само излази.

Сада ћемо модификовати горњи програм и видети шта ће се догодити ако у код убацимо нит демона.

Нови код: к = тхреададинг.Тхреад (таргет = тхреад_фунцтион, аргс = (1,), даемон = Труе)

Када покренете горњи програм са извршеним модификацијама, он ће изгледати отприлике овако.

Разлика између ова два излаза је у томе што у последњем недостаје завршни ред. Тхреад_фунцтион () није добио прилику да доврши, јер смо убацили демон демон и чим је стигао до краја, изашао је из програма.

питхон __инит__ селф

Придруживање нити

Сад кад сте научили о концепту креирања нити у Питхону, заједно са концептом демонске нити, открит ћемо како можете да придружите нити у Питхону.

Коришћењем функције јоин () у Питхону можете спојити две различите нити, а такође упутити једну да сачека другу док не заврши своје извршавање. Ова функција ће вам често добро доћи када кодирате велике апликације и требате да се сви процеси извршавају у одређеном редоследу

Завршни део овог чланка о „Тхреадинг ин Питхон“ приказаће вам радне више нити,

Рад са више нити

У горњим примерима говорили смо о томе како можете радити са две нити одједном. Али шта ако у одређеној ситуацији треба истовремено радити са више нити. За боље разумевање ситуације, погледајте пример испод.

импорт логгинг увоз навоја навоја увоз деф тхреад_фунцтион (наме): логгинг.инфо ('Тема% с: стартна', име) тиме.слееп (2) логгинг.инфо ('Нит% с: завршна обрада', име) ако је __наме__ == '__маин__': формат = '% (асцтиме) с:% (мессаге) с' логгинг.басицЦонфиг (формат = формат, левел = логгинг.ИНФО, датефмт = '% Х:% М:% С') нити = листа ( ) за индекс у опсегу (3): логгинг.инфо ('Главни & ампампампнбсп & ампампампнбсп: креирај и покрени нит% д.', индекс) к = навоја.Нит (циљ = функција_нит, аргс = (индекс,)) нити.аппенд (к ) к.старт () за индекс, нит у енумерате (нити): логгинг.инфо ('Главна & ампампампнбсп & ампампампнбсп: пре придруживања нити% д.', индекс) тхреад.јоин () логгинг.инфо ('Главна & ампампампнбсп & ампампампнбсп: нит% д готово ', индекс)

Оутпут

У горе наведеном програму пратили смо исту процедуру увоза библиотеке нити, покретања нити, креирања више нити, а затим функције јоин () да комбинујемо све заједно и извршимо се у одређеном редоследу.

Када покренете горњи програм, резултат ће изгледати отприлике овако.

Закључак

То је једна од најприкладнијих карактеристика Питхона. Користећи га на исправан начин, можете да учините свој читав процес кодирања много лакшим и ефикаснијим. Из горњег чланка надамо се да сте научили основе навоја нити и да ћете их и даље користити у свакодневном програмирању.

Дакле, то је то, момци, надам се да вам се свидео овај чланак.

Да бисте стекли детаљно знање о Питхону, заједно са разним апликацијама, то можете за онлајн обуку уживо са подршком 24/7 и доживотним приступом.

Имате питање за нас? Спомените их у одељку за коментаре овог чланка и јавићемо вам се.