理解するのは簡単
1、スレッド:実行の最小単位;工程:最小リソースユニット
図2は、プログラムは、プロセスは、少なくとも一つのスレッド(スレッドがコンテナスレッドとして理解することができる)を有する、少なくとも1つのプロセスを有します
図3に示すように、プロセスは、実装工程において別々のメモリユニットを有しており、複数のスレッドがメモリを共有します
図4に示すように、各スレッドは、別々有する入口プログラム、シーケンスプログラム、順次実行される出口が、スレッドは、独立して行うことができない、複数のスレッドは、アプリケーションプログラム実行制御によって提供されなければなりません
図5に示すように、プロセスは、システムリソースの割り当てとスケジューリングの別個のユニットであります
マルチスレッドコードがオンであります
import threading
import time
def sing():
print("begin to sing %s" % time.ctime())
time.sleep(3)
print("stop to sing %s" % time.ctime())
def jump():
print("begin to jump %s" % time.ctime())
time.sleep(5)
print("stop to jump %s" % time.ctime())
def rap():
print("begin to rap %s" % time.ctime())
time.sleep(7)
print("stop to rap %s" % time.ctime())
def play_basketball():
print("begin to play_basketball %s" % time.ctime())
time.sleep(9)
print("stop to play_basketball %s" % time.ctime())
if __name__ == '__main__':
#开启sing的线程
t1 = threading.Thread(target = sing)
t1.start()
#开启jump的线程
t2 = threading.Thread(target = jump)
t2.start()
#开启rap的线程
t3 = threading.Thread(target = rap)
t3.start()
#开启篮球的线程
t4 = threading.Thread(target = play_basketball)
t4.start()
このように、それはcxk同じが同時に歌い、踊り、ラップ、バスケットボール実行することができるようなスレッドを開くことができます。
これは、プロセスと同等であるプログラムであり、4つのスレッドを同時に実行のような踊りと歌ラップバスケットボールは、その区間の時間間隔わずか2秒は3579ミャオ族ではありません