ホームページ  >  記事  >  バックエンド開発  >  Python マルチスレッド アプリケーション (例付き)

Python マルチスレッド アプリケーション (例付き)

不言
不言オリジナル
2018-09-11 16:32:451292ブラウズ

この記事は Python マルチスレッドの応用に関するものです (例付き)。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

マルチスレッドを紹介する前に、まず非常に簡単な例を見てみましょう。

例:

#单线程实例
import time

def mark(index):
    print("Mark的帅,远近闻名,第%d次传播"%index)
    #暂停一秒,不然看不到效果哦
    time.sleep(1)

if __name__=="__main__":
    for i in range(6):
        mark(i)

結果: 順番に印刷

Python マルチスレッド アプリケーション (例付き)

上記はシングルスレッド表示効果です。 , 今度はマルチスレッドを使用して処理してみましょう。これを行う前に、スレッド モジュールが Python の比較的低レベルのモジュールであることを知っておく必要があります。

スレッドの制御を容易にするために、Python はスレッド モジュールを使用してスレッドをカプセル化します。下に。

例:

#多线程实例
import time
import threading

def mark(index):
    print("Mark的帅,远近闻名,第%d次传播"%index)
    #暂停一秒,不然看不到效果哦
    time.sleep(1)

if __name__=="__main__":
    for i in range(6):
        #定义子线程
        t=threading.Thread(target=mark,args=(i,))
        #启动子线程
        t.start()

効果:

Python マルチスレッド アプリケーション (例付き)

#効果、元のシングル スレッド、シーケンシャル実行を参照してください。作業には少なくとも 6 秒かかりますが、マルチスレッドを使用すると完了までに 1 秒強かかり、作業効率に違いが表れるため、マルチスレッドを使用します。

2. メインスレッドは、すべてのサブスレッドが完了するまで待機してから終了します

これを確認するのは非常に簡単で、コードを確認するだけです:

#主线程会等待所有子线程执行完成才结束
import time
import threading

def mark():
    #暂停3秒
    time.sleep(3)
    print("Mark的帅,远近闻")

if __name__=="__main__":
    print("程序开始执行了")
    # 定义子线程
    t = threading.Thread(target=mark)
    # 启动子线程
    t.start()
    print("单线程程序到这里主线程就会结束了,多线程呢,看看吧")
効果:

Python マルチスレッド アプリケーション (例付き)

関連する推奨事項:

Python マルチスレッドチュートリアルの例

Python スレッド マルチスレッド プログラミングの例

以上がPython マルチスレッド アプリケーション (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。