Pythonでスレッドと無限ループを使って並行処理を行う方法について説明します。この記事は、Pythonのthreading
モジュールを使用した例を中心に解説します。
スレッドと無限ループ
Pythonのthreading
モジュールを使用すると、複数の関数を同時に実行することができます。以下に、無限ループを含む関数をスレッドで並行処理する基本的なコードを示します。
import time
import threading
def func1():
while True:
print("func1")
time.sleep(1)
def func2():
while True:
print("func2")
time.sleep(1)
if __name__ == "__main__":
thread_1 = threading.Thread(target=func1)
thread_2 = threading.Thread(target=func2)
thread_1.start()
thread_2.start()
このコードでは、func1
とfunc2
という2つの関数が定義されています。これらの関数は無限ループを含み、それぞれ1秒ごとに文字列を出力します。threading.Thread
クラスのインスタンスを作成し、target
パラメータにこれらの関数を渡すことで、並行処理が可能になります。
注意点
スレッドと無限ループを組み合わせて使用する際には、注意が必要です。特に、無限ループ内で重い処理を行うと、他のスレッドの実行が遅延する可能性があります。また、無限ループを制御するための適切な終了条件を設定することが重要です。
以上、Pythonでスレッドと無限ループを使う方法について説明しました。この知識を活用して、効率的な並行処理を実現してみてください。