circuitpython/tests/thread/thread_heap_lock.py

27 lines
428 B
Python
Raw Normal View History

# test interaction of micropython.heap_lock with threads
import _thread, micropython
lock1 = _thread.allocate_lock()
lock2 = _thread.allocate_lock()
def thread_entry():
lock1.acquire()
print([1, 2, 3])
lock2.release()
lock1.acquire()
lock2.acquire()
_thread.start_new_thread(thread_entry, ())
micropython.heap_lock()
lock1.release()
lock2.acquire()
micropython.heap_unlock()
lock1.release()
lock2.release()