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)を#メインスレッドがコードの実行終了し、この時間は、サブスレッドの実行時間が含まれていません