B_QuRT_User_Guide(12)

240 篇文章 11 订阅

8 Signals

线程使用信号来根据一个或多个内部事件的发生来同步其执行。
如果一个线程在一个信号对象上等待指定的信号集中的任何一个被设置,并且这些信号中的一个或多个被设置在信号对象中,那么这个线程就被唤醒了。
如果一个线程在一个信号对象上等待所有指定的信号集被设置,并且所有这些信号在信号对象中被设置,那么这个线程就被唤醒了。
一个信号对象包含32个信号,这些信号在一个32位的数值中被表示为0-31位。位值1表示一个信号被设置,0表示被清除。
注意:在任何时候,最多只有一个线程可以在一个信号对象上等待。
qurt_signal_wait()和qurt_signal_wait_cancellable()函数根据其等待类型参数,等待任何或所有信号。信号被存储在共享对象中,支持以下操作。

  • qurt_signal_clear()
  • qurt_signal_destroy()
  • qurt_signal_get()
  • qurt_signal_init()
  • qurt_signal_set()
  • qurt_signal_wait()
  • qurt_signal_wait_all()
  • qurt_signal_wait_any()
  • qurt_signal_wait_cancellable() - qurt_signal_wait_timed()
  • qurt_signal_64_init()
  • qurt_signal_64_destroy()
  • qurt_signal_64_wait()
  • qurt_signal_64_set()
  • qurt_signal_64_get()
  • qurt_signal_64_clear()
  • Data Types

8.1 qurt_signal_clear()

8.1.1 Function Documentation

8.1.1.1 void qurt_signal_clear ( qurt_signal_t ∗ signal, unsigned int mask )

清除指定信号对象中的信号。
信号在32位掩码值中表示为第0到31位。掩码位值为1表示必须清除一个信号,0表示不清除。
注意:信号必须由线程在被唤醒时明确地清除–等待操作不会自动清除它们。
相关数据类型
qurt_signal_t
参数
在这里插入图片描述
返回值
None.
依赖关系
None.

8.2 qurt_signal_destroy()

8.2.1 Function Documentation

8.2.1.1 void qurt_signal_destroy ( qurt_signal_t ∗ signal )

销毁指定的信号对象。
注意:当信号对象不再被使用时,必须将其销毁。如果不这样做会导致QuRT内核的资源泄漏。
信号对象不能在仍在使用中时被销毁。如果发生这种情况,QuRT的行为将无法定义。
相关数据类型
qurt_signal_t
参数
在这里插入图片描述
返回值
None.
依赖关系
None.

8.3 qurt_signal_get()

8.3.1 Function Documentation

8.3.1.1 unsigned int qurt_signal_get ( qurt_signal_t ∗ signal )

从一个信号对象中获取一个信号。
返回指定信号对象的当前信号值。
相关数据类型
qurt_signal_t
参数
在这里插入图片描述
返回值
A 32-bit word with current signals.
依赖关系
None.

8.4 qurt_signal_init()

8.4.1 Function Documentation

8.4.1.1 void qurt_signal_init ( qurt_signal_t ∗ signal )

初始化一个信号对象。信号返回初始化的对象。信号对象最初被清空。
注意:每个基于信号的对象都有一个或多个与之相关的内核资源;为了防止资源泄漏,当这个对象不再被使用时,请调用qurt_signal_destroy()。
相关数据类型
qurt_signal_t
参数
在这里插入图片描述
返回值
None.
依赖关系
None.

8.5 qurt_signal_set()

8.5.1 Function Documentation

8.5.1.1 void qurt_signal_set ( qurt_signal_t ∗ signal, unsigned int mask )

设置指定信号对象中的信号。
信号在32位掩码值中表示为0到31位。掩码位值为1表示设置该信号,0表示不设置该信号。
相关数据类型
qurt_signal_t
参数
在这里插入图片描述
返回值
None.
依赖关系
None.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值