EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

HTL_thread_scheduler_param_t

表1 调度器参数

类型

名称

说明

HTL_thread_scheduler_target_t

type

调度器调度目标类型。

HTL_thread_scheduler_init_fn

init

调度器初始化函数。

HTL_thread_scheduler_run_fn

run

调度器运行函数。

HTL_thread_scheduler_free_fn

free

调度器释放函数。

HTL_thread_scheduler_get_migr_pool_fn

get_migr_pool

返回一个迁移的池。

结构体说明

  1. HTL_thread_scheduler_target_t type

    调度器调度目标的类型,当前仅支持设置ULT作为基础工作单元。

  2. int (*HTL_thread_scheduler_init_fn::init)(HTL_thread_scheduler_t, HTL_thread_scheduler_config_t)

    调度器初始化函数。init()根据调度器配置初始化调度器。如果init()没有返回HTL_SUCCESS,则调度器创建失败。init()是可选的,因此用户可以将init设置为NULL。

  3. void* (*HTL_thread_scheduler_run_fn::run)(HTL_thread_scheduler_t)

    调度器运行函数。run()运行调度器计划。用户可以自由设计此函数,包含以下属性:

    • 调度循环:

      run()从与调度器sched关联的线池中取出单元并运行它。

      sched可以访问与sched不关联的池。但是HTL假定其关联的池中无工作单元时,调度器为空闲,应该让给父级。

    • 定期事件检查:

      run()定期调用HTL_thread_executor_check_event()。频率由用户定义的,但一些请求处理依赖HTL_thread_executor_check_event()的处理。

    • 结束run(),如需要:

      run()定期调用HTL_thread_scheduler_stop(),如果返回HTL_TRUE返回,则run()应立即返回。调用频率由用户定义的,但一些请求处理依赖于HTL_thread_scheduler_stop()的机制。

    run()的调用者是与sched关联的工作单元。如果sched是主调度器,则底层执行器在run()中保持不变。run()不是可选的,因此用户必须实现此功能。

  4. int (*HTL_thread_scheduler_free_fn::get_migr_pool)(HTL_thread_scheduler_t)

    调度器释放函数。free()去初始化调度器。free()的返回值会被忽略。

    free()是可选的,因此用户可以将free设置为NULL。

    free()仅在释放调度器时调用。free()在其关联的工作单元终止时不调用。

  5. HTL_thread_pool_t (*HTL_thread_scheduler_get_migr_pool_fn::get_migr_pool)(HTL_thread_scheduler_t)

    获得迁移池函数。get_migr_pool()会返回与调度器关系的线程池,该池作为迁移池。

    如果get_migr_pool()返回HTL_THREAD_POOL_NULL或与调度无关的池,则结果是未定义的。

    get_migr_pool()是可选的,用户可以将get_migr_pool设置为NULL。如果get_migr_pool为NULL,则HTL将选择与调度关联的合使的池。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词