1.マルチスレッド:
マルチスレッドは、複数のタスクを同期させるために、運用効率を向上させることがないが、システムの効率を改善するために、資源利用の効率を改善することです。スレッドは、時間のタスクの数を完了するために同じ時間が必要で実装されています。
最も単純な類推は、列車の各キャリッジのためのマルチスレッドのようなものである、プロセスは列車です。列車が実行されていないキャリッジを残し、共感は、唯一の客車にすることはできません。マルチスレッドは効率が発生し改善することです。同時に、また、いくつかの問題をもたらした表示されます。
スレッドとプロセス間の関係:
アプリケーションプロセスは、プロセスの処理で実行され、それは動的概念であり、スレッドは、プロセスの一部であり、プロセスが実行中の複数のスレッドを含んでいます。少なくとも1つのプロセスを実行しているプログラム、少なくとも一つのスレッドが含まれているプロセスは、スレッドは、プロセスの不可欠な部分です。
2.threadingモジュールを使用するのは簡単:
インポートスレッディング インポート時間 :)(コーディングDEFを :X-でレンジ(3)のため の印刷( '' ...コードを書いて再') time.sleep(1) DEF描画(): X-でレンジ用(3): 印刷('塗料は%s'は%threading.current_thread())である #1 ビュースレッド 。(time.sleepを1) :DEFメイン() (=目標符号化)#スレッド作成threading.Threadの= T1 threading.Thread =(目標=図面のT2)を T1 .start()#スレッド開始 t2.start() #印刷(threading.enumerate())#を名前でスレッド数を見る __name__ == '__main__'の場合: メイン()
3. Threadクラスは、複数のスレッドを作成します。
より良いカプセル化スレッドコードするためには。スレッドクラスは、モジュールは、クラスから継承スレッドで使用され、その後、実行方法を実現することができます。スレッドには、自動的にコードのrunメソッドを実行します。
インポート通し インポート時間の クラスCodingThread(threading.Thread): DEF(自己)実行: 範囲内のx(3): プリント( '正在写代码%s'は%threading.current_thread()) time.sleep(1) クラスDrawingThread (threading.Thread): DEF実行(自己): xの範囲(3): プリント( '正在画图%s'は%threading.current_thread()) time.sleep(1) DEFメイン(): T1 = CodingThread( ) T2 = DrawingThread() t1.start() t2.start() もし__name__ == '__main__': メイン()