您当前的位置: 首页 >  linux

DS小龙哥

暂无认证

  • 1浏览

    0关注

    679博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux系统编程-(pthread)线程通信(信号量)

DS小龙哥 发布时间:2022-01-14 22:00:00 ,浏览量:1

1. 信号量介绍

信号量的运用环境与互斥锁一样,但是信号量比互斥锁增加灵活,互斥锁只有两个状态(开锁和解锁),而信号量本质上是一个计数器,它内部有一个变量计数信号值,可以保护一个资源可以同时被1个或者2个或者3个线程同时使用,如果信号量的值只是设置1(状态只有0和1),那么和互斥锁就是一样的功能。

总结

  1. 信号量也主要是用来保护共享资源(信号量也属于临界资源),使得资源在一个时刻只有一个线程或者多个线程独享。

  2. 信号量是一种特殊的变量,访问具有原子性, 用于解决进程或线程间共享资源引发的同步问题。

  3. 信号量就是一个计数变量,内部本身就是一个变量。只不过这个变量具有原子性。

  4. 信号量经常用来保护临界区资源、实现资源同步。

  5. 如果信号量只有2个值,0和1,就称为二值信号量==互斥锁。

**信号量和互斥锁(mutex)的区别:**互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区,要使用信号量同步,需要包含头文件semaphore.h

2. 信号量实现接口函数 2.1 初始化信号量
#include            
关注
打赏
1664009229
查看更多评论
0.0360s