二进制信号信号量用于同步,一般take和give在不同的任务当中.
比如:
TaskA
{
准备打印纸
Give信号量
}
TaskB
{
Take信号量
开始打印
}
互斥信号量主要用于保护临界支援,成对出现.
比如:
TaskA
{
Take信号量
写数据库
Give信号量
}
TaskB
{
Take信号量
写数据库
Give信号量
}
比如:
TaskA
{
准备打印纸
Give信号量
}
TaskB
{
Take信号量
开始打印
}
互斥信号量主要用于保护临界支援,成对出现.
比如:
TaskA
{
Take信号量
写数据库
Give信号量
}
TaskB
{
Take信号量
写数据库
Give信号量
}
ps:此文转载自
remexia的回帖