原语并发性和同步对象类型在系统外部定义,并且无法修改。它们是在称作 OXF 的 C 框架程序包中定义的外部对象。为此,不会为它们生成代码。
在这些外部对象中,有一组支持并发性和同步的原语对象类型。这些服务通常是由公共实时操作系统提供的。并发性和同步对象类型包括以下几项:
- 任务对象 - 与活动对象区分开来。在活动对象中,框架负责确定对象如何行为(依据是否拥有自己的线程、事件处理器程序等)。但是,在任务对象中,您可以定义任务的行为。
任务操作上的典型操作包含以下几项:- start()
- stop()
- suspend()
- resume()
您可以为这些操作提供自己的实施。
- 消息队列 - 支持活动对象之间的任务间通信。
- 信号灯 - 通过仅允许有限数量的对象在同一时间占用资源上的令牌(锁定)来保护共享资源。信号灯和互斥锁都是 RTOS 实体。
- 互斥锁 - 通过仅允许一个对象在同一时间占用令牌来为共享资源提供二进制互斥。
- 计时器对象 - 提供计时功能,例如,允许以重复的时间间隔的信号输出。
您可以通过选择相应的构造型以在您的模型中创建任何这些对象类型。原语对象类型通常具有图表化的表示,以支持图上更简单的可读性。