Pythonでマルチスレッディングを使用する方法について説明します。マルチスレッディングは、複数のタスクを同時に実行するための一般的な手法です。
スレッドの作成
Pythonでは、threading
モジュールを使用してスレッドを作成します。以下に基本的なスレッドの作成方法を示します。
import threading
def my_thread():
# 何かをする...
def my_thread2():
# 何かをする...
t1 = threading.Thread(target=my_thread)
t2 = threading.Thread(target=my_thread2)
t1.start()
t2.start()
t1.join()
t2.join()
このコードでは、my_thread
とmy_thread2
という2つの関数を定義し、それぞれを新しいスレッドで実行しています。
スレッドの同期
スレッド間でリソースを共有する場合、同期が必要になることがあります。Pythonでは、threading.Lock
を使用してスレッドを同期することができます。
import threading
lock = threading.Lock()
def my_thread():
with lock:
# ロックを取得して何かをする...
def my_thread2():
with lock:
# ロックを取得して何かをする...
t1 = threading.Thread(target=my_thread)
t2 = threading.Thread(target=my_thread2)
t1.start()
t2.start()
t1.join()
t2.join()
このコードでは、lock
オブジェクトを使用して、一度に1つのスレッドだけが特定のコードブロックを実行できるようにしています。
以上がPythonでのマルチスレッディングの基本的な使い方です。これらの基本を理解すれば、より複雑なマルチスレッドプログラムを作成することが可能になります。