I datalogi terminologi , er en proces, man kører en forekomst af et program i computerens hukommelse . Disse processer i hukommelsen kan også gyde andre processer. Programmeringssproget Python , ligesom andre sprog er egnede til at udvikle desktop-software tilbyder et bibliotek til at lette oprettelsen og vedligeholdelsen af processer på en computer -system. Processer
Når en bruger starter et program som en webbrowser , programmet bliver en kørende proces i operativsystemet . Før udførelse, blot et program, bor da data på harddisken . Når henrettet , operativsystemet indlæser programmet i hovedhukommelsen eller RAM. Alle kørende programmer får plads i RAM af operativsystemet , mens de kører . Når den kører , operativsystemet overvåger ansøgning processer gennem en proces tabel, der beskriver tilstanden af processen , og hvor det er bosat i hukommelsen.
Gyde Processer
processer gyde andre processer skal udføre samtidigt arbejde under afviklingen af programmet . Denne " multiprocesser " tillader programmer at håndtere mange forskellige opgaver på samme tid . Et program i Python , for eksempel, gyder kan en særskilt proces ved hjælp af " multiprocessing " biblioteket og dets "Process " objekt , som i det følgende eksempel : Hej
fra multiprocessing import Process
import os
def hello () : Hej
print ( 'Hello ' )
p = Proces ( target = hej)
p.start ( ) //starter barn proces "p"
Processer Doing Work
Et barn proces , da nogle opgaver , vil udføre denne opgave, mens den overordnede proces udfører sin egen opgave . I det følgende eksempel , gyder et Python -program en proces , og både overordnede proces og barn proces kalder den samme metode " os.getpid ()" , som returnerer den numeriske id på den igangværende proces : Hej
def PID ( ) : Hej
print ( "Jeg er Proces :», os.getpid () )
p = Proces ( target = PID)
p.start ()
print ( "Jeg er processen :», os.getpid () )
p.join ( ) //slutter 'p' proces
udgangen af disse to processer er som følger . Bemærk , at den forælder "print" kommando med det lille "proces" kører typisk først
jeg proces: . 57.883
jeg Proces: 57884
Sharing data mellem processer
to processer kan også dele data mellem hinanden med en " Pipe "-objekt , der skaber en forbindelse mellem de to processer. Ved hjælp af disse forbindelse objekter, kan et barn proces sende data til en overordnet proces , så den overordnede proces for at manipulere eller udskrive de gemte data. Følgende eksempel viser brugen af Pipe objektet : Hej
def send ( barn ) : Hej
child.send ( [1 , 2, 3] ) //barnet processen sender data, når udførelse
child.close ()
hvis __ name__ == ' __main__ ' : Hej
forælder, barn = Pipe ( )
p = Process (mål = f, args = ( barn ) )
p.start ()
print parent.recv ( ) //overordnede proces modtager data fra barn
p.join KAYAK