パイソン(X) - マルチプロセス、マルチスレッド

プロセス・スレッドの概念

処理手順として理解、行われる特定の仕事はスレッドです。例えば、等、友人を見つけ、設定することができるQQ、QQチャットプログラムを起動し、その後、これらの機能は、単一のプロセスマルチスレッド・モードであり、個々のスレッドのように理解されるであろう。成人の脳、理解大人の手のスレッドのプロセスを理解し、脳だけは手がなければならない、作業を完了することができません。だから、スレッドを持っている必要があり、以下のプロセスを開始し、それがメインスレッドとして理解することができます。

そして、コンピュータの同時プロセスの最大数はどのくらいですか?私は、それが最大同時8缶工程であり、真の同時実行は並行コンピュータの同時数を指していることは、コンピュータのCPUコア数として、コアの数に等しいが8である、ここで述べています。

--threadingマルチスレッド

たとえば、私たちはの.pyファイルを実行し、pycharm、実際には、プログラムを実行し、このプログラムはプロセスであり、その過程で結果を実行しているスレッドです。だから、デフォルトの1つのスレッドだけ私達のプロセスは、どのように単一のプロセス内のスレッドの数を増やすには?モジュールを参照する必要がある - 私たちは、プログラム10を実行するために役立つ10個のスレッドを起動するインスタンスのために、スレッド:

インポートスレッディング
 インポート時間は、

DEF )(EAT:
    time.sleep( 1。 )  
     印刷' 食べる' 

START_TIMEは = (time.time)の
 ための I でのレンジ(10 ):
    T threading.Threadの=(対象= EATインスタンス化を、そこには書かれていないスレッドが(食べる)、書かれた(食べて)マルチスレッドではありません 
    t.start() 実行このスレッド 
END_TIME = time.time()
 印刷実行時間、END_TIME - START_TIME)

結果:
時間を実行しています0.002976655960083008 
食べる

食べる

食べる

食べる
食べる
食べる
食べます

プログラムのトップは、我々は食べる()メソッドを実行するために10スレッド、10スレッドのサイクルを作成し、プログラムの実行時間の面で理解されるように食べる()メソッドでは、遅延を書いた1秒であるべきです()として広く10のマルチスレッド同時実行(食べると解釈)が、結果は次のとおり実行時間も1Sないように、理由でありますか?また、時間が食べるのメソッドを()なくなる前に、結果が印刷されますが、プログラムを理解するために、最後の印刷機で時間を実行している私たちのプログラムは上から下に実行されるべき以内に、なぜこのような状況はありますか?

実際に、私達はちょうど私たちのプロセスの下で、複数のスレッドがある、程度の良い理解を取るためにここにいますか?

その答えは、実際に10件のスレッド、並行して実行されるスレッド11のメインスレッドに追加され、そのプロセスの実装に加えて、1 + 10 = 11であるべきである一方、メインスレッドの1つの印刷開始時刻と終了時刻、今では、お互いのために待機中のスレッド間ではありません

マルチプロセス

 

 

おすすめ

転載: www.cnblogs.com/xiaowenshu/p/10962167.html