Decoratorのついている特定のメソッドを別スレッドで呼ぶようにする

@asyncデコレータが付いているメソッドに対して別スレッドで呼び出せるようにした。


from threading import Thread

def async(f): def wrapper(args, *kwargs): thread = Thread(target = f, args = args, kwargs = kwargs) thread.start() return wrapper

@async def long_task_async(): print("long task")

上のコード例だとlong_task_async()メソッドが別スレッドで呼ばれる。これで気兼ねなく時間のかかる処理を呼び出せるようになった。

Related Contents

Pickup Contents