Sadržaj
Kao što znamo Piton Ima mnogo knjižnica koje nam omogućuju rad i upravljanje vezama u mrežama, bilo da se povezujemo s udaljenim datotekama ili naš program služi kao poslužitelj, u osnovnim primjerima korištenja utičnica s Piton vidljivo je da se njime vrlo lako rukuje upotrebom modula utičnicaMeđutim, kako bi to bila robusnija aplikacija, moramo biti sposobni obraditi više veza.Za rukovanje s više veza u Piton možemo koristiti Račvanje i od Uvlačenje niti, kako bismo mogli generirati asinhrone ulazne i izlazne procese koji nam omogućuju da prisustvujemo nekoliko veza istovremeno.
Vilica i provlačenje niti
Ako smo u prvim koracima učenja programiranja ili smo samo radili strukturirano programiranje, možda se ti pojmovi mogu činiti kompliciranima koji su nepoznati, međutim to su jednostavni pojmovi za razumijevanje i sažimanje, pogledajmo definicije prije nego nastavimo dalje.
Račvanje: To je izraz koji se koristi u okruženjima UNIX i sastoji se od izrade bifurkacije, s procesom koji ga dupliciramo, a zatim imamo dva jednaka procesa, ali svaki sa svojim opsegom, izvorni proces poznat je kao roditeljski proces, a duplicirani proces poznat kao podređeni proces, ako napravimo analogiju sa znanstvenom fantastikom, možemo ih promatrati kao paralelne svemire, gdje iste stvari postoje samo da se mogu ponašati različito u istim točkama.
Nedostatak Račvanje je da to može biti jako skupo u smislu resursa i zato imamo Uvlačenje niti, a Nit To je nit, u ovom slučaju niti su podprocesi koji pripadaju istom procesu, dijele memoriju i resurse, na taj način smanjujemo troškove resursa procesora, međutim dijeljenjem memorije otkrivamo problem koji moramo biti vrlo oprezni s elementima na koje se Niti kako ne bi došlo do kompromitiranog poslovanja.
Sada kada poznajemo teoriju i osnovne pojmove, vidjet ćemo neke primjere u kojima možemo vidjeti primjenu Piton.
Kao što smo rekli na početku zahvaljujući velikom broju modula i knjižnica koji postoje u Piton, izrada programa s mrežnim funkcionalnostima vrlo je jednostavna pa se možemo usredotočiti na logiku umjesto na tehničke aspekte.
Pogledajmo na sljedećoj slici primjer Račvanje, tada ćemo objasniti što se događa s kodom:
Kako vidimo da je ova aplikacija vrlo jednostavna, pogledajmo kako možemo postići nešto slično koristeći Niti, na sljedećoj slici imamo primjer: