マルチタスク
マルチタスク:複数のタスクを同時に/同時に実行し
ます。マルチタスクの目的は効率を向上させることです
並列性と並行性
並列とは、複数のタスクを同時に実行し、複数のタスクを一緒に実行する
ことを指します。並行性とは、複数のタスクを一定期間に実行することを指しますが、タスクは同時には実行されず、順番に実行されます
同期および非同期
同期は、2つのタスクが関連していることを意味します。後者は前者の結果を必要とする場合があります。シリアル実行は
非同期ですが、2つのタスクが接続されていない、同時に実行できる、または1つずつ(区別なく)実行できることを意味します。同時
プロセスとスレッド
プロセスはスレッドの倉庫です。
プロセスには複数のスレッドが含まれる場合があります
进程
一个正在运行的程序就是一个进程,进程是系统进行资源分配的最小单位
每一个进程都有自己的独立的内存和资源
程序只有一个,进程可以有多个
进程与进程之间相互独立,资源不能共享
线程
线程是进程中的一个执行线路或者流程
线程是任务调度的最小单位
线程可以看做是轻量级的进程
程序真正执行时,调用的是线程
一个进程中至少有一个主线程,可以包含多个子线程
线程与线程之间共享进程的资源和数据
マルチスレッドの実現
スレッドモジュールを使用してスレッドを作成する
import threading
def sing(nmaes):
print(f"第一个线程{names}")
if __name__ == ' main ':
# 创建一个线程,args后面写要传的参数,必须是元组的形式
t1 = threading.Thread(target=sing, args=("老王",))
# 启动线程
t1.start()
プロセスを作成するためのクラス継承メソッド
import threading
class MyThrea(threading.Thread):
def __init__(self, username):
super().__init__()
self.username = username
# run方法重写父类中的run方法
# 在实例化完后,进程开始会自动调用run方法
def run(self):
print(f"{self.username}唱了歌")
if __name__ == ' main ':
t1 = MyThrea('老王')
t2 = MyThrea('老李')
# 设置线程的名字
t1.setName("t1")
# 获取线程的名字
print(t1.getName())
# 启动进程
t1.start()