MicroPython supports spawning threads by the _thread module. The following example demonstrates the use of this module. A thread is simply defined as a function that can receive any number of parameters. Below 3 threads are started, each one perform a print at a different interval.
_thread
import _thread import time def th_func(delay, id): while True: time.sleep(delay) print('Running thread %d' % id) for i in range(3): _thread.start_new_thread(th_func, (i + 1, i))
import _thread a_lock = _thread.allocate_lock() with a_lock: print("a_lock is locked while this executes")