zoukankan      html  css  js  c++  java
  • [多线程]互斥锁与信号量的区别

    互斥锁

      互斥锁是一种保护机制。上锁后其他线程不能进入保护区域的代码,直到锁被释放。

    信号量

      信号量是一种同步机制。信号量的值代表可用的资源数目,当值大于0代表有可用资源,则允许继续操作,否则线程阻塞,等待可用资源。

    当可用资源是1时,信号量与互斥锁基本没区别,都起保护作用。当资源数大于1,则当信号量大于0时线程都可进行操作。如果资源大于1时使用互斥锁,则就算资源数大于1时,也只能有一个线程进入操作,其余线程必须阻塞。

    信号量可用于进程通信和线程通信,而互斥锁只能用于线程通信。

  • 相关阅读:
    奶酪真香
    规格说明书
    33
    111
    出题
    随笔 01
    我爱奶酪
    用户规格说明书
    第二次结对作业
    结对作业1
  • 原文地址:https://www.cnblogs.com/iyjhabc/p/3144545.html
Copyright © 2011-2022 走看看