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...