自定義程序和程序池

2021-09-18 03:20:24 字數 989 閱讀 7563

from multiprocessing import process

import time

class customprocess(process):#繼承process類

def run(self):# 重寫process類中run方法

num = 7

while num > 0 :

print(num)

time.sleep(2)

num -= 1

if __name__ == "__main__":#不加此條件就會執行下邊**,繼續生成新的物件 造成遞迴

p = customprocess()#例項程序類物件 不傳引數 預設呼叫run()方法

p.start()

p.join()

"""

程序池:用來建立多個程序 multiprocessing.pool 可以指定最大程序數

multiprocessing.pool常用函式解析

#(要呼叫的目標(傳遞給目標的引數元組))每次迴圈將會用空閒出來的子程序呼叫目標

close() 關閉pool

join()主程序阻塞 等待子程序的退出

"""from multiprocessing import pool

import random,time

def work(num):

print(random.random()*num)

time.sleep(3)

if __name__ =="__main__":

po = pool(3)#定義乙個程序池 最大程序數為3 預設為cpu的核數

for i in range(10):

po.close()#程序池關閉,不會再接受新的請求

po.join()#等待自程序結束,必須放在close後面

#在多程序中,主程序一般用來等待,真正的任務在子程序中執行

zabbix 自定義監控程序

環境 ip主機名 服務端192.168.32.133 asuna 客戶端192.168.32.128 wjx root wjx mkdir scripts root wjx vim scripts check process.sh root wjx cat scripts check process...

程序間通訊 自定義訊息

自定義訊息wm copydata,使用sendmessage傳送訊息 最近想實現程序間通訊,遇到一些問題記錄一下。傳送方 dllimport user32.dll entrypoint sendmessage private static extern int sendmessage int hwn...

網路程式設計 自定義程序類

建立自定義程序類 編寫類繼承process 在自定義類中載入父類 init 以獲取父類屬性,同時可以自定義新的屬性 重寫run方法,在呼叫start時自動執行該方法 from multiprocessing import process import time class clockprocess ...