#-*- coding: utf-8 -*-
#@date: 2017-08-26
#@original:
#多程序
import
itertools
from concurrent.futures import
processpoolexecutor
result =
#**函式,通過add_done_callback任務完成後呼叫
defwhen_done(r):
#when_done在主程序中執行
"""with class_a() as a: 上下文管理器
"""with processpoolexecutor() as pool:
for keep_stock_threshold, buy_change_threshold in
\ itertools.product(keep_stock_list, buy_change_list):
"""submit提交任務:使用calc函式和的引數通過submit提交到獨立程序
提交的任務必須是簡單函式,程序並行不支援類方法、閉包等
函式引數和返回值必須相容pickle序列化,程序間的通訊需要
"""future_result =pool.submit(calc, keep_stock_threshold,
buy_change_threshold)
#當程序完成任務即calc執行結束後的**函式
future_result.add_done_callback(when_done)
print(sorted(result)[::-1][:10])
#多執行緒
from concurrent.futures import
threadpoolexecutor
result =
defwhen_done(r):
with threadpoolexecutor(max_workers=8) as pool:
for keep_stock_threshold, buy_change_threshold in
\ itertools.product(keep_stock_list, buy_change_list):
future_result =pool.submit(calc, keep_stock_threshold,
buy_change_threshold)
future_result.add_done_callback(when_done)
多程序和多執行緒
嵌入式linux中文站,關於多程序和多執行緒,教科書上最經典的一句話是 程序是資源分配的最小單位,執行緒是cpu排程的最小單位 這句話應付考試基本上夠了,但如果在工作中遇到類似的選擇問題,那就沒有那麼簡單了,選的不好,會讓你深受其害。經常在網路上看到有xdjm問 多程序好還是多執行緒好?linux下...
多執行緒和多程序
首先說什麼是程序,載入記憶體中執行的程式,它就是乙個程序,而這個程式中執行的某個子任務就是乙個執行緒,程式包含了執行緒。程序對於執行緒是唯一的,而乙個程序可以有多個執行緒。程式執行的時候每隔一定時間在多執行緒之間執行,比如第乙個執行緒執行到0.01秒,馬上暫停跳到下乙個執行緒開始執行,又執行到0.0...
多程序和多執行緒
一 python 中多程序的使用 1 使用multiprocessing p process target function,args 引數,p.start 含義啟動程序 p.join 含義是等待子程序結束後在繼續執行 2 如果啟動大量的子程序,可以用程序池的方式批量建立子程序 from multi...