This commit is contained in:
Stavros Korokithakis 2023-07-19 00:41:53 +03:00
parent 6b26f5316a
commit f09fdf3ee5
No known key found for this signature in database
GPG Key ID: 26EA345ECD4C2A63
4 changed files with 50 additions and 0 deletions

View File

@ -41,6 +41,8 @@
- [GRBL_ESP32 tips](maker-things/grbl-esp32-tips.md)
- [How to properly level your 3D printer](maker-things/how-to-properly-level-your-3d-printer.md)
- [Installing BLTouch-compatible firmware onto the TwoTrees Sapphire Pro](maker-things/installing-bltouch-compatible-firmware-onto-the-twotrees-sapphire-pro.md)
- [Python](python/index.md)
- [Decorator that runs a function in a thread](python/decorator-that-runs-a-function-in-a-thread.md)
- [Software](software/index.md)
- [Black pills](software/black-pills.md)
- [Getting VoWiFi working on Xiaomi.eu](software/getting-vowifi-working-on-xiaomi-eu.md)

View File

@ -0,0 +1,5 @@
# Contents
Click on a link in the list below to go to that page:
1.

View File

@ -0,0 +1,38 @@
# 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!
* * *
<p style="font-size:80%; font-style: italic">
Last updated on July 19, 2023. For any questions/feedback,
email me at <a href="mailto:hi@stavros.io">hi@stavros.io</a>.
</p>

5
content/python/index.md Normal file
View File

@ -0,0 +1,5 @@
# Contents
Click on a link in the list below to go to that page:
1. [Decorator that runs a function in a thread](../../python/decorator-that-runs-a-function-in-a-thread.html)