信号量与互斥量的区别

终于看到一篇文章把信号量说清楚了。看了很多网上的关于互斥量与信号量区别的文章,都是死板的定义与术语,而没有从应用场景出发,这篇文章不错,从应用场景上对两者的区别进行了描述。

简单来说:

mutex是为了保证临界资源只被一个线程访问,是为了保证临界资源的线程安全;互斥量的获取者与释放者必须是同一个线程。

semaphore虽然也能提供临界资源保护的功能,但是信号量的应用场景并不是为了保护临街资源,只是为了线程间的同步执行;A线程执行完自己的操作后,发送了semaphore,B线程获取到semaphore后接着执行自己的操作,但是A的操作与B的操作可能没有任何关系,也不会访问相同的临界资源。

原文链接:Mutexes and Semaphores Demystified

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值