micropyhon 线程
时间: 2023-10-05 21:04:12 浏览: 58
MicroPython支持多线程,可以在不同的线程中运行不同的代码。在MicroPython中,可以使用_thread模块创建和控制线程。
以下是一个简单的例子,创建两个线程并分别输出数字:
```python
import _thread
import time
# 线程1函数
def thread1():
for i in range(5):
print('Thread 1:', i)
time.sleep(1)
# 线程2函数
def thread2():
for i in range(5):
print('Thread 2:', i)
time.sleep(1)
# 创建线程1和线程2
_thread.start_new_thread(thread1, ())
_thread.start_new_thread(thread2, ())
# 主线程等待子线程结束
while True:
pass
```
在此示例中,两个函数thread1和thread2被创建为线程,使用_start_new_thread方法启动线程。主线程无限循环以等待子线程结束。在每个线程中,使用time.sleep方法暂停1秒钟,然后输出数字。运行此代码将产生以下输出:
```
Thread 1: 0
Thread 2: 0
Thread 1: 1
Thread 2: 1
Thread 1: 2
Thread 2: 2
Thread 1: 3
Thread 2: 3
Thread 1: 4
Thread 2: 4
```
请注意,输出的顺序可能会有所不同,这是因为两个线程同时运行,并且它们的输出是异步的。
MicroPython的线程模块提供了一些其他方法来控制线程,例如锁定,条件变量等。这些方法可以用于更复杂的多线程程序。
阅读全文