multiprocessing模組就是跨平台版本的多程序模組,提供了乙個process類來代表乙個程序物件,這個物件可以理解為是乙個獨立的程序,可以執行另外的事情
# -*- coding:utf-8 -*-
from multiprocessing import process
import time
def run_proc():
"""子程序要執行的**"""
while true:
print("----2----")
time.sleep(1)
if __name__=='__main__':
p = process(target=run_proc)
p.start()
while true:
print("----1----")
time.sleep(1)
說明# -*- coding:utf-8 -*-
from multiprocessing import process
import os
import time
def run_proc():
"""子程序要執行的**"""
print('子程序執行中,pid=%d...' % os.getpid()) # os.getpid獲取當前程序的程序號
print('子程序將要結束...')
if __name__ == '__main__':
print('父程序pid: %d' % os.getpid()) # os.getpid獲取當前程序的程序號
p = process(target=run_proc)
p.start()
process([group [, target [, name [, args [, kwargs]]]]])
process建立的例項物件的常用方法:
process建立的例項物件的常用屬性:
# -*- coding:utf-8 -*-
from multiprocessing import process
import os
from time import sleep
def run_proc(name, age, **kwargs):
for i in range(10):
print('子程序執行中,name= %s,age=%d ,pid=%d...' % (name, age, os.getpid()))
print(kwargs)
sleep(0.2)
if __name__=='__main__':
p = process(target=run_proc, args=('test',18), kwargs=)
p.start()
sleep(1) # 1秒中之後,立即結束子程序
p.terminate()
p.join()
執行結果:
子程序執行中,name= test,age=18 ,pid=45097...
子程序執行中,name= test,age=18 ,pid=45097...
子程序執行中,name= test,age=18 ,pid=45097...
子程序執行中,name= test,age=18 ,pid=45097...
子程序執行中,name= test,age=18 ,pid=45097...
# -*- coding:utf-8 -*-
from multiprocessing import process
import os
import time
nums = [11, 22]
def work1():
"""子程序要執行的**"""
print("in process1 pid=%d ,nums=%s" % (os.getpid(), nums))
for i in range(3):
time.sleep(1)
print("in process1 pid=%d ,nums=%s" % (os.getpid(), nums))
def work2():
"""子程序要執行的**"""
print("in process2 pid=%d ,nums=%s" % (os.getpid(), nums))
if __name__ == '__main__':
p1 = process(target=work1)
p1.start()
p1.join()
p2 = process(target=work2)
p2.start()
執行結果:in process1 pid=11349 ,nums=[11, 22]
in process1 pid=11349 ,nums=[11, 22, 0]
in process1 pid=11349 ,nums=[11, 22, 0, 1]
in process1 pid=11349 ,nums=[11, 22, 0, 1, 2]
in process2 pid=11350 ,nums=[11, 22]
python多程序之multiprocessing
簡單的理解 單板上執行的乙個程式就是乙個程序。程序是作業系統分配資源的最小單位,不同的程序之間資源不共享,程序間通訊需要使用特定的方式。python提供了自帶的multiprocessing庫,用於多執行緒場景。import multiprocessing import time defworker...
Linux程序 程序的建立
今天學習了linux的程序建立的基本原理,是基於0.11版本核心的。下面對其作一下簡單的總結。一 linux程序在記憶體中的相關資源 很容易理解,linux程序的建立過程就是記憶體中程序相關資源產生的過程,那麼linux程序在記憶體中有哪些相關資源呢?1 task陣列中的一項 乙個指標指向程序的ta...
程序的建立
程序的建立 1.詳解程序建立的幾類函式的說明 fork vfork exec system?1 獲取id include include pid t getpid void 獲取本程序id。pid t getppid void 獲取父程序id 2 啟動程序 a pid tfork void 功能 建...