Python多工之程序

2021-09-24 13:53:47 字數 2069 閱讀 2651

python通過多程序實現多工的幾種方法

只用在類unix/linux系統中有效,windows系統中無效

fork函式呼叫一次,返回兩次:在父程序中返回值為子程序id,在子程序中返回值為0

import os

ret = os.fork()

if ret:

# 父程序

print("主程序,pid={}".format(os.getpid()))

else:

# 子程序

print("子程序,pid={},父程序pid={}".format(os.getpid(), os.getppid()))

import os,time

from multiprocessing import process

def worker():

print("子程序執行中... pid={},ppid={}".format(os.getpid(),os.getppid()))

time.sleep(2)

print("子程序結束... pid={}".format(os.getpid()))

def main():

print("主程序開始執行 pid={}".format(os.getpid()))

ps=# 建立子程序例項

for i in range(2):

p=process(target=worker,name="worker"+str(i),args=())

# 開啟程序

for i in range(2):

ps[i].start()

# 阻塞程序

for i in range(2):

ps[i].join()

print("主程序結束")

if __name__ == '__main__':

main()

import os,time

from multiprocessing import process

class myprocess(process):

def __init__(self):

process.__init__(self)

def run(self):

print("子程序開始 pid={},ppid={}".format(os.getpid(),os.getppid()))

time.sleep(2)

print("子程序結束 pid={}".format(os.getpid()))

def main():

print("主程序開始 pid={}".format(os.getpid()))

myp=myprocess()

myp.start()

myp.join()

print("主程序結束")

if __name__ == "__main__":

main()

import os,time

from multiprocessing import pool

def worker(arg):

print("子程序開始執行 pid={},ppid={},編號{}".format(os.getpid(),os.getppid(),arg))

time.sleep(0.5)

print("子程序結束 pid={},ppid={},編號{}".format(os.getpid(),os.getppid(),arg))

def main():

print("主程序開始 pid={}".format(os.getpid()))

ps=pool(5)

for i in range(10):

# 關閉程序池,停止接受其它程序

ps.close()

# 阻塞程序

ps.join()

print("主程序結束")

if __name__ == '__main__':

main()

python 多工 程序

什麼是程序?程式是靜態的,當程式執行起來就叫做程序。程序是作業系統分配資源的基本單元。程序 執行緒的區別與優缺點 1.定義的不同 程序是系統進行資源分配的最小單位.執行緒是程序的乙個實體,是cpu進行排程的基本單位。執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源 如程式計數器,一組...

Python 多工 程序池

高階程式設計技巧 學習筆記 1.1 為什麼要用程序池 當需要建立的子程序數量不多時,可以直接利用multiprocessing中的process動態生成多個程序,但是如果是上百甚至上千個目標,手動的去建立的程序的工作量巨大,此時就可以用到multiprocessing模組提供的pool方法。初始化 ...

python 多工程式設計 程序

程序 想要實現多工可以使用程序來完成,概念 乙個正在執行的程式或者軟體就是乙個程序,它是作業系統進行資源發呢排的基本單位 乙個程式執行後至少有乙個程序,乙個程序預設有乙個執行緒,程序裡面可以建立多個執行緒,執行緒依附在程序裡面的,沒有程序就沒有執行緒。程序的使用 1 匯入程序包 import mul...