本节介绍事件标志组解决资源间共享问题的原理与示例。
可能在你的印像中,事件标志组是用来等待与通知某些事件的发生,确实是这样。但是我们也可用于解决资源冲突问题,在这里我们将事件标志组看做是多个二值信号量的组合。 看到上面的文字,是否一下就明白了。是的,正是如此!
主要内容
工作原理
我们可以将事件标志组中的各个位看作是取值为0和1的”二值信号量”。只不过这些”二值信号量”共享事件标志组的同一等待队列。
使用事件标志组后,其效果和使用二值信号量相同。
嵌套问题
特性总结
重点难点
组合等待资源
当我们使用事件标志组时,可以利用其标志组组合的特性。即用标志组中的各个标志位分别代表1种资源,任务可组合选择等待其中所有/任务的1个/多个资源可用。
这种特点,是仅仅使用二值信号量难以办到的。