**如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from multiprocessing import process
import os, time
def d1(arg):
for i in range(5):
time.sleep(0.5)
print("d1")
def d2(arg):
for j in range(10):
time.sleep(1.5)
print("d2")
if __name__ == '__main__':
p1 = process(target = d1, args = ("1", ))
p2 = process(target = d2, args = ("2", ))
p1.start()
p2.start()
p1.join() #當前程序阻塞,等待p1程序執行完成
p2.join()
以我對並行的認知就是,兩個函式同時執行,那麼以上輸出結果應該是:
d1,d1,d1,d2,d1,d1,d2,d2,d2,d2,d2,d2,d2,d2,d2
然鵝,結果卻是:d1,d1,d1,d1,d1,d2,d2,d2,d2,d2,d2,d2,d2,d2,d2
這不對啊!這是並行執行嗎?感覺還是順序執行。我用的**不對嗎?
python定時執行,多程序
可以通過另開一條執行緒,去專門做這件事情,py2 如下,如果是py3請自行調整下語法 coding utf8 import threading import time 真正要執行的函式 def t1 print ok 每隔10秒鐘執行 def t2 while 1 t1 time.sleep 10 ...
python 多程序 提高執行效率
python 是一種非常流行的程式語言,但是python 的效率卻並不是非常的理想,這時候就非常有必要使用多程序來提高python 的執行效率。匯入多程序的模組 from multiprocessing import process 多程序模組 from multiprocessing import...
Python使用多程序執行含有任意個引數的函式
1.問題引出 許多時候,我們對程式的速度都是有要求的,速度自然是越快越好。對於python的話,一般都是使用multiprocessing這個庫來實現程式的多程序化,例如 我們有乙個函式my print,它的作用是列印我們的輸入 def my print x print x 但是我們嫌它的速度太慢了...