Python で同期的にコードを実行する方法
Pythonでは、マルチスレッドとマルチプロセスを利用して同期的にコードを実行することができます。
- マルチスレッドを使用した同時実行
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() を呼び出してスレッドが実行を完了するまで待ちます。
- マルチプロセスを用いて同期実行します:
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()を呼び出してプロセスの完了を待機します。
マルチスレッドとマルチプロセスどちらを使用しても、プログラムの同時実行を表現できます。どちらを使用するかを決定する際には、要件とプログラムの特性が考慮されます。