Pythonの研究ノート(21) - プロセス、スレッド

1 、スレッドVSプロセス

プロセス

  オペレーティングシステムの場合、タスクはプロセスです。

  プログラムの実装プロセス・インスタンスはプロセスであり、各プロセスは、プログラムを実行するために必要なすべてのリソースを提供しています。

  プロセスは、メインスレッド、ゼロ個以上の子スレッドが含まれています。

スレッド

        スレッドは、実行の最小単位です。

        スレッドがそのリソースを割り当てていない、すべてのスレッドがリソースを同時にプロセスとスレッドを共有しています。

糸の種類

        メインスレッド

        子スレッド

        デーモンスレッド

2 、マルチスレッド

Pythonはマルチスレッドが複数のCPUを利用することができない、それが唯一のCPU上で実行することができます。

使用マルチスレッドのためのPython threadingモジュール

インポートスレッディング#のスレッドモジュール
のインポート

DEF RUN(URL):
    time.sleep( 2 印刷(URL)
     印刷' 実行中... ' DEF )(EAT:
     印刷' 食べる' 

START_TIMEを = time.timeを()#のスタンププログラムの実行を開始し

たスレッドを = [] 

のためにレンジ(10 ):
    関数名を実行し、スレッドをインスタンス化 
    threading.Thread =(対象= RUNのTを、引数に=を(" HTTP:// WWW。 baidu.com"、)) パラメーターはコンマ追加する必要があります 
    (t.startを)このスレッド開始 
    threads.append(T) は、スレッドのリストに追加されたすべての子プロセス

スレッド内のスレッドのために:     Thread.join()#を使用参加メインスレッドは、ダウン実行し、サブスレッドの実行の終了を待つことになる

#1 ループしながら上記方法又は方法に参加使用を子スレッドの実行のためにメインスレッドを待機が完了した後、次の手順を実行
しながら threading.active_count()= 1 :! 場合サイクルの終わりまで、スレッド1の数、
    パス

印刷が(threading.active_count()) スレッドの現在の数

END_TIMEは time.time()= #のプログラムが終了したときのタイムスタンプを
印刷ランタイム、END_TIME-START_TIME)をメインスレッドがコードの実行終了し、この時間は、サブスレッドの実行時間が含まれていません

 

おすすめ

転載: www.cnblogs.com/yanyan-/p/10966079.html