示例一:
# -*- coding:utf-8 -*-
from multiprocessing import process, manager
import time
import random
def kkk(a_list, number):
for i in range(10):
a_list.append(i)
time.sleep(random.randrange(2))
print('這是程序{} {}'.format(number, a_list))
print('這是程序{} {}'.format(number, a_list))
def jjj(a_list):
for i in range(2):
process = process(target=kkk, args=(a_list, i))
process.start()
if __name__ == '__main__':
a_list =
process_0 = process(target=jjj, args=(a_list,))
process_0.start()
process_0.join()
print(a_list)
print(len(a_list))
print('it\'s ok')
輸出:這是程序0 [0]
這是程序0 [0, 1]
這是程序0 [0, 1, 2]
這是程序0 [0, 1, 2, 3]
這是程序1 [0]
這是程序0 [0, 1, 2, 3, 4]
這是程序1 [0, 1]
這是程序0 [0, 1, 2, 3, 4, 5]
這是程序1 [0, 1, 2]
這是程序1 [0, 1, 2, 3]
這是程序1 [0, 1, 2, 3, 4]
這是程序1 [0, 1, 2, 3, 4, 5]
這是程序0 [0, 1, 2, 3, 4, 5, 6]
這是程序0 [0, 1, 2, 3, 4, 5, 6, 7]
這是程序0 [0, 1, 2, 3, 4, 5, 6, 7, 8]
這是程序1 [0, 1, 2, 3, 4, 5, 6]
這是程序0 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
這是程序0 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
這是程序1 [0, 1, 2, 3, 4, 5, 6, 7]
這是程序1 [0, 1, 2, 3, 4, 5, 6, 7, 8]
這是程序1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
這是程序1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0it's ok
process finished with exit code 0
示例二:
使用 manager
# -*- coding:utf-8 -*-
from multiprocessing import process, manager
import time
import random
def kkk(a_list, number):
for i in range(10):
a_l程式設計客棧ist.append(i)
time.sleep(random.randrange(2))
www.cppcns.com print('這是程序{} {}'.format(number, a_list))
print('這是程序{} {}'.format(number, a_list))
def jjj(a_list):
for i in range(2):
process = process(target=kkk, args=(a_list, i))
process.start()
if __name__ == '__main__':
manager = manager()
a_list = manager.list()
# a_list =
process_0 = process(target=jjj, args=(a_list,))
process_0.start()
process_0.join()
print(a_list)
print(len(a_list))
print('it\'s ok')
輸出:這是程序0 [0, 0]
這是程序0 [0, 0, 1]
這是程序0 [0, 0, 1, 2]
這是程序0 [0, 0, 1, 2, 3]
這是程序0程式設計客棧 [0, 0, 1, 2, 3, 4]
這是程序1 [0, 0, 1, 2, 3, 4, 5]
這是程序0 [0, 0, 1, 2, 3, 4, 5, 1]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3]
這是程序1 [0, 0, 1, 2, 3, 4,rzfxcq 5, 1, 6, 2, 3, 4]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5]
這是程序0 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6]
這是程序0 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7]
這是程序0 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8, 9]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8, 9, 7]
這是程序0 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8, 9, 7, 8]
這是程序0 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8, 9, 7, 8]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8, 9, 7, 8]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 3, 4, 5, 6, 7, 8, 9, 7, 8, 9]
這是程序1 [0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8, 9, 7, 8, 9]
[0, 0, 1, 2, 3, 4, 5, 1, 6, 2, 3, 4, 5, 6, 7, 8, 9, 7, 8, 9]
20it's ok
process finished with exit code 0
Python 多程序 共享資料
coding utf 8 from multiprocessing import process,manager import time import random defkkk a list,number for i in range 10 time.sleep random.randrange ...
python多程序共享資料
python的multiprocessing模組提供兩種共享記憶體,sharedctypes與manager,manager效率較低,但支援遠端共享記憶體。sharedctypes效率較高,快manager兩個數量級,在多程序訪問時與普通記憶體訪問相當 共享方式 支援的型別 shared memor...
多程序資料共享
不用程序池的多程序的資料共享from multiprocessing import process,queue queue queue def func a,q re f 我是子程序 我放入data q.put re if name main ls for i in range 10 p proce...