Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Procesy v Pythone

Vo vede o počítačoch terminológiu , proces bežiaci inštancia programu v pamäti počítača . Tieto procesy v pamäti môžete tiež plodiť ďalšie procesy . Programovací jazyk Python , rovnako ako iných jazykoch vhodných pre vývoj softvéru pre stolné počítače , ponúka knižnicu s cieľom uľahčiť vytváranie a udržiavanie procesov na počítačovom systéme . Procesy

Keď používateľ začne aplikácie , ako je webový prehliadač , aplikácia sa stáva bežiaci proces v operačnom systéme . Pred vykonaním , program jednoducho žije ako dáta na pevnom disku . Po spustení operačného systému načíta program do hlavnej pamäte , alebo RAM . Všetky spustené aplikácie sú uvedené priestor v RAM operačný systém , zatiaľ čo oni beží . Zatiaľ čo beží , operačný systém monitoruje procesy aplikácií cez procesné tabuľke , ktorá popisuje stav procesu a kde je umiestnená v pamäti .
Reprodukujúce sa procesy

procesy môžu plodiť ďalšie procesy , ktoré majú vykonávať súbežné prácu počas vykonávania programu . Tento " multiprocesing " umožňuje programom zvládnuť mnoho rôznych úloh naraz . Program v Pythone , napríklad , môže plodiť samostatný proces pomocou " multiprocessing " knižnicu a jej " Process " objekt , ako v nasledujúcom príklade :

z multiprocessing procesu importu

dovozné os

def ahoj ( ) :

print ( " ahoj " )

p = Process ( target = ahoj )

p.start ( ) //začína dieťa proces " p "
procesy robiť prácu

dieťa proces , vzhľadom k tomu nejakú úlohu , bude plniť túto úlohu , zatiaľ čo nadradený proces vykonáva svoju vlastnú úlohu . V nasledujúcom príklade programu Python spúšťa proces , a to ako nadradený proces a dieťa proces volať rovnaké metódy " os.getpid ( ) " , ktorý vracia číselnú id aktuálneho procesu :

def PID ( ) :

print ( " Som Process : " os.getpid ( ) )

p = Process ( target = PID )

p.start ( )

print ( " Som procesu : " os.getpid ( ) )

p.join ( ) //končí " P " proces

výkon týchto dva procesy je nasledujúci . Všimnite si , že rodič " print " Príkaz s " procesom " malým zvyčajne spúšťa prvý

Som postup : . 57883

Som Process : 57884
zdieľanie dát medzi procesmi

dva procesy môžu tiež zdieľať dáta medzi sebou s " potrubia " objekt , ktorý vytvára spojenie medzi dvoma procesmi . Pomocou týchto objektov pripojenia , môže dieťa proces odosielania dát do nadradeného procesu , ktorý umožňuje nadradený proces manipulovať alebo tlač uložených dát . Nasledujúci príklad ukazuje použitie objektu potrubia :

def odoslanie ( dieťa ) :

child.send ( [ 1 , 2 , 3 ] ) //dieťa proces odosiela dáta , kedy vykonávanie

child.close ( )

if __ name__ == " __main__ " :

rodič , dieťa = Trubka ( )

p = Process ( cieľová = f , args = ( dieťa , ) )

p.start ( )

tlač parent.recv ( ) //rodič procesu prijíma dáta z dieťaťa

p.join

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené