Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Python Προγραμματισμός

Διεργασίες Σε Python

Στην ορολογία της επιστήμης των υπολογιστών , μια διαδικασία που είναι μια λειτουργία παράδειγμα ενός προγράμματος στη μνήμη του υπολογιστή . Αυτές οι διεργασίες στη μνήμη μπορεί επίσης να αναπαράγονται άλλες διαδικασίες . Η γλώσσα προγραμματισμού Python , όπως και άλλες γλώσσες κατάλληλες για την ανάπτυξη λογισμικού για τον υπολογιστή , προσφέρει μια βιβλιοθήκη για να διευκολύνει τη δημιουργία και τη συντήρηση των διεργασιών σε ένα σύστημα υπολογιστή . Διεργασίες
Η

Όταν ένας χρήστης ξεκινά μια εφαρμογή, όπως ένα πρόγραμμα περιήγησης στο Web , η αίτηση γίνεται μια διεργασία που εκτελείται στο λειτουργικό σύστημα . Πριν από την εκτέλεση , ένα πρόγραμμα που απλά κατοικεί ως δεδομένα στο σκληρό δίσκο . Όταν εκτελεστεί , το λειτουργικό σύστημα φορτώνει το πρόγραμμα στην κύρια μνήμη , ή RAM . Όλες οι εφαρμογές που τρέχουν δώσει χώρο στη μνήμη RAM από το λειτουργικό σύστημα ενώ θα τρέχει . Ενώ τρέχει το λειτουργικό σύστημα παρακολουθεί τις διαδικασίες εφαρμογής μέσω ενός πίνακα διαδικασία που περιγράφει την κατάσταση της διαδικασίας και εφόσον κατοικεί στη μνήμη .
Εικόνων Διεργασίες ωοτοκία
Η

διεργασίες μπορούν αναπαράγονται άλλες διαδικασίες που προορίζονται να εκτελούν ταυτόχρονη εργασία κατά τη διάρκεια της εκτέλεσης του προγράμματος . Αυτό το " πολυ " επιτρέπει στα προγράμματα να χειριστεί πολλές διαφορετικές εργασίες ταυτόχρονα . Ένα πρόγραμμα σε Python , για παράδειγμα , μπορεί να γεννούν μια ξεχωριστή διαδικασία χρησιμοποιώντας το " πολυ-επεξεργασία" της βιβλιοθήκης και του «Διαδικασία» αντικείμενο , όπως στο ακόλουθο παράδειγμα :

από πολυ Διαδικασία εισαγωγής

os εισαγωγής

def hello ( ) :

print (' Hello ' )

p = Process ( target = γεια )

p.start ( ) //ξεκινά η διαδικασία του παιδιού " p"

Η Διεργασίες Κάνοντας Εργασία
Η

Μια διαδικασία παιδιού, δεδομένου κάποια εργασία , θα εκτελέσει το έργο αυτό , ενώ η μητρική διεργασία εκτελεί την αποστολή της . Στο παρακάτω παράδειγμα , ένα πρόγραμμα Python γεννά μια διαδικασία , και τόσο η διαδικασία μητρική και η θυγατρική διεργασία καλέσει την ίδια μέθοδο " os.getpid ( ) " , η οποία επιστρέφει την αριθμητική ταυτότητα της τρέχουσας διαδικασίας :

def PID ( ) :

print (' Είμαι Διαδικασία : ' , os.getpid ( ) )

p = Process ( target = PID )

p.start ( )

print (' Είμαι διαδικασία : ' , os.getpid ( ) )

p.join ( ) //τερματίζει τη διαδικασία « p»

η έξοδος από αυτά δύο διαδικασίες είναι ως ακολούθως. Σημειώστε ότι η μητρική "print " εντολή με τη "διαδικασία " πεζά συνήθως εκτελείται για πρώτη φορά

Είμαι διαδικασία : . 57883

είμαι Διαδικασία : 57884
εικόνων Sharing τα δεδομένα ανάμεσα Διεργασίες
Η

δύο διαδικασίες μπορούν επίσης να μοιραστούν δεδομένα μεταξύ τους με ένα " σωλήνα " αντικείμενο που δημιουργεί μια σύνδεση μεταξύ των δύο διαδικασιών . Χρησιμοποιώντας αυτά τα αντικείμενα σύνδεσης , μια διαδικασία που το παιδί μπορεί να στείλει τα δεδομένα σε έναν γονέα διαδικασία , επιτρέποντας τη γονική διεργασία να χειραγωγήσουν ή να εκτυπώσετε τα αποθηκευμένα δεδομένα . Το ακόλουθο παράδειγμα δείχνει την χρήση του αντικειμένου Pipe :

def στείλει ( το παιδί ) :

child.send ( [ 1 , 2 , 3 ] ) //η εξαρτημένη διεργασία στέλνει τα δεδομένα όταν εκτέλεσης

child.close ( )

αν __ name__ == ' __main__ » :

γονέας , το παιδί = Pipe ( )

p = Process (στόχος = f , args = ( παιδί , ) )

p.start ( )

parent.recv print ( ) //μητρική διαδικασία λαμβάνει δεδομένα από το παιδί

p.join
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα