joplin-mdbooks-website/content/python/decorator-that-runs-a-function-in-a-thread.md
Stavros Korokithakis f09fdf3ee5
Updates
2023-07-19 00:41:53 +03:00

672 B

Decorator that runs a function in a thread

I wrote a small decorator that will convert any function to run in a thread:

import threading

def run_threaded(fn):
    """A decorator that makes a function run in a thread."""

    def run(*k, **kw):
        t = threading.Thread(target=fn, args=k, kwargs=kw)
        t.start()
        return t

    return run

Example:

@run_threaded
def add(x, y):
    # This runs in a separate thread.
    print(x+y)
	
add(1+2)

That's it!


Last updated on July 19, 2023. For any questions/feedback, email me at hi@stavros.io.