MicroPython-ESP32 task_create() 任务优先级
时间: 2024-03-18 12:42:36 浏览: 126
micropython_esp32-s3_n16r8
5星 · 资源好评率100%
在MicroPython-ESP32中,`task_create()`函数可以指定新任务的优先级。`priority`参数用于指定新任务的优先级,取值范围为1-20,默认为5。优先级越高的任务,调度器就越倾向于执行它,但是需要注意,优先级并不是绝对的,只是相对的,即优先级高的任务会更容易获得执行的机会,但并不是一定会在优先级低的任务之前执行。
下面是一个使用`task_create()`函数创建两个任务,并指定它们的优先级的例子:
```
import _thread
def task_func1(args):
while True:
print("Task 1 running")
def task_func2(args):
while True:
print("Task 2 running")
task1 = _thread.task_create(task_func1, ("arg1",), priority=10)
task2 = _thread.task_create(task_func2, ("arg2",), priority=5)
```
在这个例子中,我们创建了两个任务,分别是`task1`和`task2`,并分别指定它们的优先级为10和5。这意味着,调度器会更倾向于执行`task1`,但是并不是一定会在`task2`之前执行。
阅读全文