Python 程序的建立和簡單應用

2022-08-16 01:48:11 字數 4183 閱讀 3470

#

!/user/bin/python

#encoding=utf-8

import

osprint (os.getpid())#

自己本身的程序id

pid = os.fork() #

建立乙個子程序,僅能在linux下執行

print (pid) #

子程序id和0

if pid == 0:#

子程序id 一般為0

:/***(搜尋

***):

n:向後找

:?print(向前搜尋

***)

多執行緒:多io 的處理,不用做計算,直接獲取資料

多程序:

攜程:單執行緒機制,出現io時,自動切換到別的任務

單執行緒出現io時,會死等

#獲取當前執行緒的名字

獲取當前執行緒的名字

name =multiprocessing.current_process().name

print(name,'

starting')

print("

worker

", n)

return

if__name__ == '

__main__':

numlist =

for i in range(5) :

p = multiprocessing.process(target=do, args=(i,))

p.start()

p.join()

#p程序,通過join方法通知主程序死等我結束,再繼續執行

print("

process end.")

for i in

numlist:

i.join()

#每乙個程序執行結束後,才會開始下一次迴圈

#迴圈結束了,也就說

5個程序全部執行完畢了,然後在執行

print

語句。print(numlist)

5個程序,新建

5個檔案,每個檔案寫

100行自定義的文字

#

coding=utf-8

import

multiprocessing

defdo(file_path) :

with open(file_path,"w

") as fp:

for i in range(100):

fp.write(

"gloryroad

"+str(i)+"\n"

) if

__name__ == '

__main__':

numlist =

for i in range(5) :

p = multiprocessing.process(target=do, args=(

"e:\\pic\\

"+str(i)+"

.txt

",))

p.start()

#p.join() #p程序,通過join方法通知主程序死等我結束,再繼續執行

print("

process end.")

for i in

numlist:

i.join()

#每乙個程序執行結束後,才會開始下一次迴圈

#迴圈結束了,也就說5個程序全部執行完畢了,然後在執行print語句。

1 生成子程序,給它指定乙個完成的任務(乙個函式)

2 生成所有的子程序,並

start

3 join一下所有的子程序,等待所有的子程序執行完畢了,在執行主程序的剩餘**

#

!/usr/bin/python

#-*- coding: utf-8 -*- 

from multiprocessing import

process  

import

os  

import

time  

defsleeper(name, seconds):  

print("

process id# %s

" %(os.getpid()))  

print("

parent process id# %s

" %(os.getppid()))

#僅支援在linux上,乙個程序會有父程序和自己的id,windows上就沒有父程序id

print("

%s will sleep for %s seconds

" %(name, seconds))  

time.sleep(seconds) 

#if __name__ == "__main__":  

child_proc = process(target = sleeper, args = ('

bob', 5))  

child_proc.start()  

print("

in parent process after child process start

")  

print("

parent process about to join child process")

child_proc.join()

print("

in parent process after child process join") 

print("

the parent's parent process: %s

" % (os.getppid()))

執行結果

程序的建立和程序狀態

程序 程序是乙個程式在記憶體中執行的過程。程序由程式 資料和程序控制塊 簡稱pcb 組成 程序控制塊 pcb linux中的pcb是乙個名叫task struct 的結構體,其中有一下幾個內容 識別符號 用來區別於其他的程序的識別符號。狀態 任務狀態,退出 退出訊號等。優先順序 程序的優先順序。程式...

程序建立和執行

簡單的說,每個應用在執行時就會產生乙個程序,這個程序就對這個應用負責,掌握這個應用的執行狀態。可是為什麼還要用乙個程序來控制乙個應用呢,下面將會簡單的解釋一下。現在的應用對於資源的要求都是獅子大開口,開口就是幾個g,一台電腦的記憶體一般也就幾個g,總不能一台電腦就跑這乙個應用吧。為了解決這個問題,作...

Linux程序的建立和終結

linux建立程序很複雜,首先呼叫fork 最終呼叫do fork 而do fork 呼叫copy process 首先是copy process 的一系列工作 1.複製父程序。呼叫dup task struct 此時子程序與父程序描述符完全相同。2.把程序描述符中的各項設為0或者初始值,並把程序狀...