0

始め方がわかりませんmultiprocessing.Process。次のコード例を使用しました。

import random, time
import multiprocessing

def frz(no, tm):
    a = 'start ' + str(no)
    print(a)
    time.sleep(tm)
    a = str(no) + '=====> '+ str(tm) +'\n'
    print(a)

if __name__ == '__main__':
    freeze1 = random.randint(1, 5)
    freeze2 = random.randint(1, 5)
    freeze3 = random.randint(1, 5)
    freeze4 = random.randint(1, 5)
    freeze5 = random.randint(1, 5)

    trd1 = multiprocessing.Process(target=frz, args=(1, freeze1))
    trd2 = multiprocessing.Process(target=frz, args=(2, freeze2))
    trd3 = multiprocessing.Process(target=frz, args=(3, freeze3))
    trd4 = multiprocessing.Process(target=frz, args=(4, freeze4))
    trd5 = multiprocessing.Process(target=frz, args=(5, freeze5))

    #threading
    trd1.start()
    trd2.start()
    trd3.start()
    trd4.start()
    trd5.start()

multiprocessing.Process関数に置き換えられている場合はthreading.Thread正常に機能しますが、マルチプロセッシングでは何も起こらないようです。

4

1 に答える 1

0

私があなたのコードを実行したとき、これは私が見たものです:

スタート 5
開始 4
スタート3
開始 2
開始 1
2=====> 1

5=====> 3
3=====> 3


4=====> 4

1=====> 5

これはあなたが期待していたものですか?

于 2011-11-17T19:15:19.437 に答える