vCoRoutineSchedule
[协程特定]
croutine.h
void vCoRoutineSchedule( void );
运行协程。
vCoRoutineSchedule() 执行优先级最高的可运行协程
。 协程保持执行,直到它阻塞、挂起或
被任务抢占。 协同间互相协作执行,因此
一个协程无法被另一个协程抢占,但可以被一个任务抢占。
如果应用程序同时包含任务和协程,那么
应从空闲任务(在空闲任务钩子中)调用 vCoRoutineSchedule
。
用法示例:
void vApplicationIdleHook( void )
{
vCoRoutineSchedule( void );
}
如果空闲任务没有执行任何其他函数,那按以下方式在循环中调用 vCoRoutineSchedule() 效率会更高:
void vApplicationIdleHook( void )
{
for( ;; )
{
vCoRoutineSchedule( void );
}
}
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|