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.
import _threadimport timedef 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 _threada_lock = _thread.allocate_lock()with a_lock:print("a_lock is locked while this executes")