类似计数器,常用在多线程同步任务上,信号量可以在当前线程某个任务完成后,通知别的线程,再进行别的任务。 分类: 二值信号量:信号量的值只有0和1,这和互斥量很类似,若资源被锁住,信号量的值为0,若资源可用,则信号量的值为1; 计数信号量:信号量的值在0到一个大于1的限制值之间,该计数表示可用的资源的个数。
在C语言中,信号量的使用涉及以下四个关键函数:sem_init此函数用于初始化信号量,其参数包括信号量对象、类型(本地或全局)以及初始值。sem_post当线程完成任务时,调用此函数以增加信号量的值,允许其他线程继续执行。sem_wait当线程需要等待其他线程释放资源时,调用此函数以减小信号量的值。sem_destro...