ホームページ >バックエンド開発 >Python チュートリアル >Python スレッド モジュールでは何ができるのでしょうか? (詳細な例)

Python スレッド モジュールでは何ができるのでしょうか? (詳細な例)

乌拉乌拉~
乌拉乌拉~オリジナル
2018-08-23 17:41:442094ブラウズ

次の記事では、Python スレッド モジュールとは何かを見てみましょう。 Python スレッド モジュールと、Python プログラミングにおいてスレッド モジュールが果たせる役割について学びます。

スレッド モジュール

スレッドは、スレッド関連の操作を提供するために使用されます。スレッドは、アプリケーション内の作業の最小単位です。

スレッド化はスレッド関連の操作を提供するために使用されます

スレッド化モジュールは _thread モジュール上に構築されます。スレッド モジュールは、低レベルの原始的な方法でスレッドを処理および制御しますが、スレッド モジュールは、スレッドの二次カプセル化によってスレッドを処理するためのより便利な API を提供します。

import threading
import time

def worker(num):
    """
    thread worker function
    :return:
    """
    time.sleep(1)
    print("The num is  %d" % num)
    return
    
for i in range(20):
    t = threading.Thread(target=worker, args=(i,),name =“t. % d” % i)
    t.start()

上記のコードは 20 個の「フォアグラウンド」スレッドを作成し、その後コントローラーが CPU に渡されます。CPU は指定されたアルゴリズムに従ってスケジュールを設定し、スライスで命令を実行します。

スレッドメソッドの説明

t.start(): スレッドをアクティブ化します。

t.getName(): スレッドの名前を取得します

t .setName( ): スレッドの名前を設定します

t.name: スレッドの名前を取得または設定します

t.is_alive(): スレッドがアクティブかどうかを判断します

t.isAlive( ): スレッドがアクティブかどうかを確認します

t.setDaemon() バックグラウンド スレッドまたはフォアグラウンド スレッドとして設定します (デフォルト: False)。スレッドがデーモン スレッドであるかどうかを設定します。ブール値の場合は、start() メソッドを実行する必要があります。それ以降のみ使用できます。バックグラウンド スレッドの場合、メイン スレッドの実行中にバックグラウンド スレッドも実行されます。メイン スレッドの実行後、バックグラウンド スレッドは成功または失敗に関係なく停止します。フォアグラウンド スレッドの場合、フォアグラウンド スレッドも停止します。メイン スレッドの実行中に実行されます。メイン スレッドの実行が終了すると、フォアグラウンド スレッドの実行が終了するのを待ってプログラムが停止します。

t.isDaemon(): デーモン スレッドかどうかを判断します

t.ident: スレッドの識別子を取得します。スレッド識別子はゼロ以外の整数です。このプロパティは start() メソッドが呼び出された後にのみ有効で、それ以外の場合は単に None を返します。

t.join(): 各スレッドを 1 つずつ実行し、完了後に実行を継続するこのメソッドではマルチスレッドが無意味になります

t.run(): スレッドは、 CPU スケジューリング後にスレッド オブジェクトの run メソッドを自動的に実行します

その他のメソッド

start スレッドは準備ができており、CPU スケジューリングを待機しています

setName Setスレッドの名前

getName スレッド名を取得します

setDaemon はバックグラウンド スレッドまたはフォアグラウンド スレッド (デフォルト) に設定されます。バックグラウンド スレッドの場合は、メイン スレッドの実行中に、バックグラウンド スレッドも進行中です。メイン スレッドの実行が完了すると、バックグラウンド スレッドは成功または失敗に関係なく停止します。バックグラウンド スレッドがフォアグラウンド スレッドの場合は、メイン スレッドの実行中もフォアグラウンド スレッドも進行中です。メインスレッドが実行を完了し、フォアグラウンドスレッドの実行が完了するのを待ってプログラムが停止します

# join 各スレッドを 1 つずつ実行し、完了後に実行を継続します。この方法ではマルチスレッドが無意味になります

run CPU によってスケジュールされた後、スレッドがスレッド オブジェクトの run メソッドを自動的に実行します。

Lock スレッド ロック (ミューテックス ロック Mutex)

Event

上記は、この記事に記載されている内容はすべてこの記事では主に

python threading module の関連知識を紹介していますので、上記の内容を理解するために活用していただければ幸いです。この記事で説明したことがあなたのお役に立ち、Python の学習が容易になることを願っています。

関連知識の詳細については、php 中国語 Web サイトの

Python チュートリアル 列を参照してください。

以上がPython スレッド モジュールでは何ができるのでしょうか? (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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