import threading
import time
from mytimeit import timeit
import multiprocessing
def job(li):
return sum(li)
@timeit
def use_thread():
li = range(1, 100000000)
# create 5 threads
threads =
for i in range(5):
t = threading.thread(target=job, args=(li, ))
t.start()
[thread.join() for thread in threads]
@timeit
def use_no_thread():
li = range(1, 100000000)
for i in range(5):
job(li)
@timeit
def use_process():
li = range(1, 100000000)
# create 5 threads
processes =
# 1). 開啟的程序書是有瓶頸的, 取決於cpu個數,
# 2). 如果處理的資料比較小, 不建議使用多程序,因為建立程序和銷毀程序需要時間;
# 3). 如果處理資料足夠大, 0《程序數《cpu個數;
for i in range(5):
p = multiprocessing.process(target=job, args=(li,))
p.start()
[process.join() for process in processes]
if __name__ == "__main__":
use_thread()
use_process()
use_no_thread()
python 多程序 提高執行效率
python 是一種非常流行的程式語言,但是python 的效率卻並不是非常的理想,這時候就非常有必要使用多程序來提高python 的執行效率。匯入多程序的模組 from multiprocessing import process 多程序模組 from multiprocessing import...
Python中的多程序
編寫完的 沒有執行時稱為程式,正在執行的 稱為程序。程式是死的 靜態的 程序是活的 動態的 作業系統輪流讓各個任務交替執行,由於cpu的執行速度實在是太快了,我們感覺就像所有任務都在同時執行一樣。多程序中,每個程序中所有資料 包括全域性變數 都各自擁有乙份,互不影響。例如 我們啟動了qq,qq就是乙...
python中的多程序
import multiprocessing import time deffunc arg pname multiprocessing.current process name pid multiprocessing.current process pid print 當前程序id d,name ...