Indholdsfortegnelse
Som vi ved Python Det har mange biblioteker, der giver os mulighed for at arbejde og administrere forbindelser i netværk, uanset om vi opretter forbindelse til eksterne filer eller vores program fungerer som en server, i grundlæggende eksempler på brug af sockets med Python det er blevet set, at det håndteres meget let ved brug af modulet stikkontaktFor at det skal være en mere robust applikation, skal vi dog kunne håndtere flere forbindelser.Til håndtering af flere forbindelser i Python vi kan bruge Forking og fra Trådning, for at kunne generere asynkrone input- og outputprocesser, der giver os mulighed for at håndtere flere forbindelser på samme tid.
Gaffel og gevind
Hvis vi er i vores første trin med at lære at programmere, eller hvis vi kun har udført struktureret programmering, kan disse termer måske virke komplicerede til at være ukendte, men de er enkle begreber at forstå og fordøje, lad os se definitionerne, før vi går videre.
Forking: Det er et begreb, der bruges i miljøer UNIX og består af at lave en opdeling, med en proces duplikerer vi den, og så har vi to ens processer, men hver med sit omfang, den oprindelige proces er kendt som forælderprocessen, og den dublerede proces er kendt som barneprocessen, hvis vi laver en analogi med science fiction, kan vi se dem som parallelle universer, hvor de samme ting kun eksisterer, at de kan opføre sig forskelligt på de samme punkter.
Bagsiden af Forking er, at det kan være meget dyrt med hensyn til ressourcer, og det er derfor, vi har Trådning, a Tråd Det er en tråd, i dette tilfælde er trådene delprocesser, der tilhører den samme proces, og deler hukommelse og ressourcer, på denne måde sænker vi omkostningerne ved processorressourcerne, men ved at dele hukommelse finder vi det problem, vi skal være meget forsigtig med de elementer, hvortil Tråde for ikke at resultere i kompromitterede operationer.
Nu hvor vi kender teorien og de grundlæggende begreber, vil vi se nogle eksempler, som vi kan se applikationen i Python.
Som vi havde sagt i begyndelsen takket være det store antal moduler og biblioteker, der findes i Python, at lave programmer med netværksfunktioner er meget enkelt, så vi kan koncentrere os om logikken i stedet for de tekniske aspekter.
Lad os se på det følgende billede et eksempel på Forking, så vil vi forklare, hvad der sker med koden:
Da vi ser, at denne applikation er ganske enkel, lad os se, hvordan vi kan opnå noget lignende ved hjælp af Tråde, i følgende billede har vi et eksempel: