子程序相當於複製了乙份主程序,和主程序是不同的。所以在子程序裡執行的操作和主程序沒關係。和其他子程序也沒有關係
子程序.join()
# 新增資料程序
add_data_process = multiprocessing.process(target=add_data)
# 讀取資料程序
read_data_process = multiprocessing.process(target=read_data)
# 啟動程序,執行相應的任務
add_data_process.start(
)# 程序等待 join,主程序會等待子程序(add_data_process)執行完畢之後,在繼續執行下面的**
add_data_process.join(
)
read_deta_process.star(
)
程序等待 join,主程序會等待子程序(add_data_process)執行完畢之後,在繼續執行下面的**
terminate() 終止
子程序.terminate()
主程序在推出執行,先讓子程序銷毀
# 建立子程序
sub_process = multiprocessing.process(target=task)
# 啟動子程序執行對應的任務
sub_process.start(
)# 主程序延時0.3
time.sleep(
0.3)
# 讓子程序銷毀
sub_process.terminate(
)print
("主程序over"
)
daemon 守護
子程序.daemon = true
設定守護主程序,主程序退出,子程序銷毀,不再執行子程序裡面的任務
# 建立子程序
sub_process = multiprocessing.process(target=task)
# 設定守護主程序,主程序退出子程序銷毀,停止執行
sub_process.daemon =
true
# 啟動子程序執行對應的任務
sub_process.start(
)# 主程序延時0.3
time.sleep(
0.3)
# # 讓子程序銷毀
# sub_process.terminate()
print
("主程序over"
)
程序的注意點
學習目標 能夠說出程序的注意點 程序的注意點介紹 程序之間不共享全域性變數 主程序會等待所有的子程序執行結束再結束 程序之間不共享全域性變數 import multiprocessing import time g list list 執行到此,說明資料新增完成 print add data g l...
python多程序注意事項
def multiprocessingfunc def func msg print msg time.sleep 3 print end pool multiprocessing.pool processes 3 for i in range 4 msg hello d i print mark ...
多程序 多程序queue
多程序 import multiprocessing import threading import time defthread run print threading.get ident defrun name time.sleep 2 print hello name t threading....