程序執行緒補充

2021-08-29 20:40:16 字數 1608 閱讀 5735

multiprocessing.current_process()#顯示當前程序

threading.current_thread()#顯示當前執行緒

pro_name.join()

thr_name.join()

pro_name.terminate()
multiprocessing.current_process().pid#主程序的id

pro_name.pid#子程序的id

threading.current_thread().ident#主線程的id

thr_name.ident#子執行緒的id

pro = multiprocessing.process(target = func,name = "***")#例項化時取別名

pro_name.name = "***"#例項化後,開啟前,利用name屬性直接修改

thr = threading.thread((target = func,name = "***")#例項化時取別名

thr_name.name = "***"#例項化後,開啟前,利用name屬性直接修改

pro_name.is_alive() #檢視程序的生存狀態

thr_name.is_alive() #檢視執行緒的生存狀態

multiprocessing.process(target=func,daemon=true)#開啟程序守護

threading.thread(target=func,daemon=true)#開始執行緒守護

這裡以程序為例

關鍵點:

程序開啟時會自動呼叫類中的run方法,而target的函式是由預設的run執行的。

import multiprocessing

import time

class myprocess(multiprocessing.process):

def __init__(self,*args,**kwargs):

super().__init__()

self.a = args

self.b = kwargs

self.name = "wl"

self.start()

def run(self):

print(multiprocessing.current_process())#列印當前程序

print(self.pid)#列印當前程序id

print(self.a)

print(self.b)

if __name__ == '__main__':

print("---主程序開始---")

pro = myprocess(1,2,3,a=1,b=2,c=3)

time.sleep(2)

print("---主程序結束---")

---主程序開始---

14848

(1, 2, 3)

---主程序結束---

程序補充與執行緒

佇列 先進先出。堆疊 先進後出。概念介紹 建立共享的程序佇列,可以通過queue實現多程序之間的資料傳遞。from multiprocessing import queue q queue 3 括號內可以傳引數 表示的是這個佇列的最大儲存數 q.put 1 往佇列中新增資料 q.put 2 prin...

程序和執行緒 另補充殭屍程序和孤兒程序

程序的全域性資料,程序的位址空間等等,這些都屬於程序 執行緒也有自己的資源,比如棧,私有資料程序切換比執行緒切換開銷大 因為程序切換時要切頁表,而且往往伴隨著頁排程,因為程序的資料段 段要換出去,以便把將要執行的程序的內容換進來。本來程序的內容就是執行緒的超集。而執行緒只需要儲存執行緒的上下文 相關...

多執行緒補充

標籤 空格分隔 多執行緒 pragma mark 延遲執行 void delay pragma mark 只執行一次 void once pragma mark 快速迭代 獲取 資料夾路徑和目的資料夾路徑 nsstring source users v desktop source nsstring...