Python 多程序 踩坑記

2021-10-05 05:34:10 字數 1010 閱讀 7826

話不多說,python多程序要匯入包from multiprocessing import pool

具體使用方法如下

def func(i):

print('run task %s...' % (os.getpid()))

t = time.time()

# do some operations

print('task %s runs %0.2f seconds.' % (os.getpid(), (time.time() - t)))

return ans

def multi_sample():

print('parent process %s.' % os.getpid())

pool = pool(processes=10)

n_cpu = 10

results =

for i in range(n_cpu):

print('waiting for all subprocesses done...')

pool.close()

pool.join()

print('all subprocesses done.')

# 合併程序(非必要)

for result in results:

res = result.get() # get方法獲得程序返回值

# 對res進行處理

如果不需要返回值,則無需有合併程序結果這一步。

事情到這裡,似乎一切都很順利,在終端輸入top,則可以看到下面一番景象

但必須特別注意:

如果某個程序有錯誤並不會報錯,這樣會讓你誤以為一切正常,如何判斷程序是否都成功執行完呢?

如果哪個程序沒有返回,就要去檢查下**是不是**寫錯了。

python多程序的坑 Python多程序相關的坑

python的multiprocessing模組實現了多程序功能,但官方文件上只有一些比較簡單的用法,主要是使用函式作為process的target,而如何在class中使用多程序並沒有多講解。google出兩篇比較詳細的文章,建議從它們入門 下面記錄一下自己這週在python多程序上碰到的坑 建立...

mybatis LocalCache踩坑記錄

上週週三下午,準備去吃飯的時候,值班突然找過來說使用者操作時爆出訂單不存在的問題,因為之前做了分表連續很長一段時間都沒問題,而且當時找過來的都是一些因為產品或者qa操作不當找不到記錄的情況,就沒有在意這些,當時以為幾分鐘就能搞定,但是沒想到居然是線上日誌爆出的問題,經過驗證訂單確實不存在!心想完了,...

Python多程序相關的坑

python的multiprocessing模組實現了多程序功能,但官方文件上只有一些比較簡單的用法,主要是使用函式作為process的target,而如何在class中使用多程序並沒有多講解。google出兩篇比較詳細的文章,建議從它們入門 下面記錄一下自己這週在python多程序上碰到的坑 和t...