mutiprocess python3 多線程模塊

from multiprocessing import Pool 
import numpy 
if __name__ == '__main__': 
    pool = Pool() 
    roots = pool.map(numpy.sqrt, range(100)) 
    print (roots)


1. pool = Pool() launches one slave process per physical processor
on the computer. On Unix systems, the slaves are forked from the
master process. Under Windows, a new process is started that
imports the script. 一個核開一個線程
2. pool.map(numpy.sqrt, range(100)) divides the input list into chunks
of roughly equal size and puts the tasks (function + chunk) on a
todo list.一個核的一個線程執行一個代碼
3. Each slave process takes a task (function + a chunk of data)
from the todo list, runs map(function, chunk), and puts the result
on a result list.一個核的一個線程的一個代碼執行一次任務
3. pool.map on the master process waits until all tasks are handled
and returns the concatenation of the result lists.合計所有任務

參考 https://calcul.math.cnrs.fr/attachments/spip/Documents/Ecoles/2013/python/Multiprocessing.pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章