多進程簡單例子
from multiprocessing import Lock,Value,Process
def mulTask(isFirst):
#這里是處理任務(wù)的類
a =A()
a.doSomeThing()
if __name__ == '__main__':
isFirstStart = Value('d',True) #通過共享狀態(tài)來判斷事件觸發(fā)
lock = Lock() #通過鎖來訪問共同資源
ps = [Process(target=mulTask, args=(isFirstStart,)) for x in range(3)]
for p in ps:
p.start()
for p in ps:
p.join()
如果A類中用到mongodb數(shù)據(jù)庫,client 每次A()的時候需要實例化一次
也就是說, A類的實例化對象必須持有一個獨有的MongoClient() 對象.
(如果不這樣做的話,mongodb會報錯:mongodb在進程開始前被建立連接)