【python】同時に2つ以上の処理を実行する方法(threading)

2021年12月9日

スレッド(threading)

スレッドを使うと複数の関数を同時に動かすことができます。

スクレイピングなど待ち時間が発生する処理に対して使用すると効率化できます。

詳細はこちら → Python Documentation contents

import time
import threading


def func_1():
    for _ in Range(10):
        print("func1 実行")
        time.sleep(1)


def func_2():
    for _ in Range(10):
        print("func2 実行")
        time.sleep(1)


if __name__ == "__main__":
    thread_1 = threading.Thread(target=func_1)
    thread_2 = threading.Thread(target=func_2)

    thread_1.start()
    thread_2.start()

注意する点は

threading.Thread(target=func_1())

としないこと。これは同時に実行できません。

オブジェクトに対して引数を設定したいときは

thread_1 = threading.Thread(target=func_1,args=(a,b))
thread_1.start()

このようにします。

python

Posted by Next-k