How does LVGL execute custom tasks sequentially?

Description

For example:

void on_progress_update(int progress)
{
    //create a task to update progress in label object
    lv_task_create(...);
}

Now I call this callback 100 times on another thread, I found that the order of execution of these tasks was not sequential.
How does LVGL execute custom tasks sequentially? Thank you very much!

As far as I know, the only control you’re expected to have over execution order is to use task priorities.

If you’re already using an OS, I’d suggest using a mutex and calling lv_label_set_text directly from on_progress_update.