mirror of
https://github.com/sascha-hemi/pycom-documentation.git
synced 2026-03-21 22:06:43 +01:00
* Products
-> updated with new products
-> added accessories
* Getting started
-> re-structured getting started guide
-> removed some of the advanced stuff
* Tutorials / Examples
-> added categories
-> added new basic tutorials Sleep, GPIO and Pring
-> added WiFi ap / sta tutorial
-> added wifi Scan MAC tutorial
* Firmware API
-> added pysense pytrack pygate categories here
* Datasheets
-> added CE FCC and RoHS documents
-> added pysense2 and pytrack 2 templates
* Update firmware
-> new section, added all methods of updating the firmware
* License
-> put license in its own section
general remarks:
-> updated the layout / theme
no more red code text
codeblocks actually work now
-> general layout updates, removed the old html structures (mostly)
37 lines
795 B
Markdown
37 lines
795 B
Markdown
---
|
|
title: "Threading"
|
|
aliases:
|
|
- tutorials/all/threading.html
|
|
- tutorials/all/threading.md
|
|
- chapter/tutorials/all/threading
|
|
---
|
|
|
|
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.
|
|
|
|
```python
|
|
|
|
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))
|
|
```
|
|
|
|
## Using Locks:
|
|
|
|
```python
|
|
|
|
import _thread
|
|
|
|
a_lock = _thread.allocate_lock()
|
|
|
|
with a_lock:
|
|
print("a_lock is locked while this executes")
|
|
```
|
|
|