Python で同期的にコードを実行する方法

Pythonでは、マルチスレッドとマルチプロセスを利用して同期的にコードを実行することができます。

  1. マルチスレッドを使用した同時実行
import threading

def task1():
    print("Task 1 started")
    # 同步执行的代码
    print("Task 1 completed")

def task2():
    print("Task 2 started")
    # 同步执行的代码
    print("Task 2 completed")

if __name__ == "__main__":
    thread1 = threading.Thread(target=task1)
    thread2 = threading.Thread(target=task2)
    
    thread1.start()
    thread2.start()
    
    thread1.join()
    thread2.join()

この例では、タスクをそれぞれ 1 つ実行する 2 つのスレッドを作成しました。 start() を呼び出してスレッドを開始し、 join() を呼び出してスレッドが実行を完了するまで待ちます。

  1.  マルチプロセスを用いて同期実行します:
import multiprocessing

def task1():
    print("Task 1 started")
    # 同步执行的代码
    print("Task 1 completed")

def task2():
    print("Task 2 started")
    # 同步执行的代码
    print("Task 2 completed")

if __name__ == "__main__":
    process1 = multiprocessing.Process(target=task1)
    process2 = multiprocessing.Process(target=task2)
    
    process1.start()
    process2.start()
    
    process1.join()
    process2.join()

この例では、それぞれ一つのタスクを実行する 2つのプロセスを作成します。start()を呼び出してプロセスを開始し、join()を呼び出してプロセスの完了を待機します。

マルチスレッドとマルチプロセスどちらを使用しても、プログラムの同時実行を表現できます。どちらを使用するかを決定する際には、要件とプログラムの特性が考慮されます。

bannerAds