In de informatica terminologie , een proces is een actief exemplaar van een programma in het computergeheugen . Deze processen in het geheugen kan ook paaien andere processen . De programmeertaal Python , net als andere talen geschikt voor het ontwikkelen van desktop software , biedt een bibliotheek aan de creatie en het onderhoud van de processen op een computer systeem te vergemakkelijken . Processen Wanneer een gebruiker een toepassing zoals een webbrowser begint , de applicatie wordt een lopend proces in het besturingssysteem . Vóór de uitvoering , een programma woont gewoon als data op de harde schijf . Als het wordt uitgevoerd , het besturingssysteem laadt het programma in het hoofdgeheugen of RAM . Alle actieve toepassingen worden gegeven ruimte in het RAM door het besturingssysteem , terwijl ze draaien . Tijdens het uitvoeren van , het besturingssysteem controleert de applicatie processen door middel van een proces tabel die de toestand van het proces en waar deze zich bevindt in het geheugen beschrijft . Spawning Processen Processen kan spawn andere processen bedoeld om gelijktijdig werk uit te voeren terwijl het programma loopt . Deze " multiprocessing " maakt programma's om veel verschillende taken tegelijk verwerken . Een programma in Python , bijvoorbeeld , kan een afzonderlijk proces met behulp van de " multiprocessing " bibliotheek en de " Process " object paaien , zoals in het volgende voorbeeld : van multiprocessing import Process import os def hello ( ) : afdruk ( ' Hallo ' ) op Twitter p = Proces ( target = hallo ) p.start ( ) //begint kind proces " p " Processen doen Werk Een kind proces , gegeven een taak , zal die taak uit te voeren , terwijl de ouder-proces voert zijn eigen taak . In het volgende voorbeeld , een Python programma spawnt een proces , en zowel de ouder -proces en het kind proces noemen dezelfde methode " os.getpid ( ) " , waarvan de numerieke id van het huidige proces terug : def pid ( ) : afdruk ( ' ik ben Process : ' , os.getpid ( ) ) op p = Proces ( target = PID ) p.start ( ) op Twitter afdruk ( ' ik ben proces : ' , os.getpid ( ) ) p.join ( ) op Twitter //eindigt de ' p ' proces de output van deze twee processen is als volgt . Merk op dat de ouder "print " commando met de kleine letter " proces " loopt meestal eerst Ik ben proces : . 57.883 Ik ben Proces : 57.884 Sharing gegevens tussen processen twee processen kunnen ook gegevens tussen elkaar delen met een " pijp " dat de verbinding tussen de twee processen creëert . Met behulp van deze verbinding objecten , kan een kind proces gegevens naar een bovenliggende proces , waardoor het bovenliggende proces om de opgeslagen gegevens te manipuleren of te printen . In het volgende voorbeeld wordt het gebruik van de Pijp object : def send ( kind ) : child.send ( [ 1 , 2 , 3 ] ) //de kind -proces stuurt de gegevens wanneer uitvoeren child.close ( ) als __ name__ == ' __main__ ' : ouder , kind = Pipe ( ) p = Proces ( doel = f , args = ( kind , ) ) p.start ( ) druk parent.recv ( ) //ouder procesgegevens van kind p.join ontvangt
|