建立程序的第二種方法,以後很多都用這個方法。

2022-08-20 14:03:14 字數 1095 閱讀 8066

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

# __author__ = "巴豆"

# email: [email protected]

import os

import time

from multiprocessing import process # 引入multiprocessing中的process模組。

class myprocess(process): # 自定乙個myprocess類,繼承process類。

def __init__(self,n,name): # 要想傳遞引數,必須寫__init__方法,在這個方法裡才能傳遞引數。

super().__init__() # 但是由於父類process的__init__方法進行了某些操作,自己重寫__init__方法會覆蓋父類的方法,所以在這裡還必須要用到super函式,來呼叫父類的__init__方法,這樣父類的__init__方法進行的操作就都有了。

self.n = n # 這是傳遞進來的引數,可以很方便的使用了。

self.name = name # 這是傳遞進來的子程序的名稱,同樣使用方便。總之,就是傳遞引數。

def run(self): # 建立程序還必須自己寫出run方法,必須寫。因為必須呼叫這個方法才能建立程序。

print('子程序的id號:',os.getpid())

print('傳遞的引數',self.n)

if __name__ == '__main__':

p1 = myprocess(100,name='取個什麼名字好呢?') # 自己建立的i程序,可以給定乙個自己喜歡的名稱。

p1.start() # 程序開始執行,進行兩件事。1,給作業系統發乙個建立程序的指令,然後由作業系統去建立程序。2,子程序建立好以後,就會執行run方法。

time.sleep(5) #這句話我自己胡亂加的,沒意義。

print('列印我自己決定的傳遞過去的子程序名:',p1.name) # 呼叫傳遞的子程序名

print('列印得到的子程序的id號:',p1.pid) # 呼叫子程序的id號。

print('主程序結束')

獲得程序完整路徑的第二種方法

第一次發的部落格是用peb獲得程序完整路徑,這幾天在學一種新方法。程序下有多個模組,而通過windbg除錯發現第一模組即程序完整路徑。直接看 把。include include char getprocesslist ulong bufferlength if enabledebugprivileg...

ITEXT 目錄生成的第二種方法

最近在用itext寫pdf報告,期間遇到目錄生成的問題,而目錄生成我認為最關鍵的是獲取章節的頁碼問題。下面分別介紹這兩種方法。除了這兩種方法之外,還可以參考我的另一篇部落格 itext 目錄生成的第三種方法 方法一 1 先生成不帶目錄的pdf檔案,命名為a.pdf。假設此時目錄應該在第3頁,分別從a...

QT建立執行緒第二種

mythread.h ifndef mythread h define mythread h include class mythread public qobject endif mythread h mywidget.h ifndef mywidget h define mywidget h i...