Skip to content

Code Review 2: 增加任务间通信能力 #3

@LeeReindeer

Description

@LeeReindeer

目前 ROS 提供的系统调用有如下四个:

  • ros_init(): 初始化系统时钟等
  • ros_create_task(*task, task_func, priority, stack, stack_size): 创建任务
  • ros_delay(ticks): 挂起任务一段时间,主动让出CPU
  • ros_schedule(): 任务调度,不必主动调用

功能十分有限和简洁简陋,之后会考虑提供更多系统调用,丰富任务间协同通信的能力:

  • ros_yield(x): 挂起任务并返回值,唤醒任意其他的任务
  • ros_join(*task): 等待其他任务结束
  • Channel: 任务间数据传递,类似 Go 中的 chan
  • Mutex: 互斥锁

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions