- 博客(2)
- 收藏
- 关注
原创 RT-Thread操作系统-信号实现
函数返回 RT_EOK 说明信号到达,接收成功。参数错误,则返回 -RT_EINVAL。参数 set 指定等待的信号;其中,rt_sighandler_t 的定义如下,是信号处理函数的函数指针类型。阻塞信号,也就是屏蔽信号。若信号被阻塞,则该信号将不会传递给安装此信号的线程。安装成功,返回信号之前的处理函数指针;handler 为对信号的处理方式函数。线程安装好某个信号后,需要对该信号解除阻塞,线程才能够接收到该信号。安装信号,主要用来确定信号值以及处理信号所采取的动作之间的映射。sig 为发送的信号值。
2023-08-30 10:18:43 122 1
原创 信号量的应用场景
而尝试获得该信号量的线程,将直接在这个信号量上进行等待。这类场合也可以看成把信号量用于工作完成标志:持有信号量的线程完成它自己的工作,然后通知等待该信号量的线程继续下一部分工作。当持有信号量的线程完成它处理的工作时,释放这个信号量,可以把等待在这个信号量上的线程唤醒,让它执行下一部分工作。此时,可以设置信号量的初始值为 0,线程在获取这个信号量时,由于信号量资源不足,线程会挂起直到这个信号量被释放。当获取信号量的线程处理完毕,释放信号量后,会唤醒挂起队列中的第一个线程而获得资源的访问权限。
2023-08-23 10:39:16 697
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人