二进制信号信号量用于同步,一般take和give在不同的任务当中.
比如:
TaskA
{
准备打印纸
Give信号量
}
TaskB
{
Take信号量
开始打印
}
互斥信号量主要用于保护临界支援,成对出现.
比如:
TaskA
{
Take信号量
写数据库
Give信号量
}
TaskB
{
Take信号量
写数据库
Give信号量
}
比如:
TaskA
{
准备打印纸
Give信号量
}
TaskB
{
Take信号量
开始打印
}
互斥信号量主要用于保护临界支援,成对出现.
比如:
TaskA
{
Take信号量
写数据库
Give信号量
}
TaskB
{
Take信号量
写数据库
Give信号量
}
ps:此文转载自
remexia的回帖
本文探讨了信号量在并发控制中的应用,包括同步、互斥和保护临界资源等场景。通过TaskA和TaskB的例子展示了如何使用信号量进行任务间的协调。
5242

被折叠的 条评论
为什么被折叠?



