【问题标题】:Is it normal practice to use just one mutex to synchronize more than one resource?仅使用一个互斥锁来同步多个资源是否正常?
【发布时间】:2015-10-31 19:29:31
【问题描述】:

我正在编写一个使用 pthread 互斥锁的应用程序。有些部分负责不同的作业,一部分用于写入文件(文件描述符资源),第二部分用于处理队列(队列变量),第三部分用于处理定时器(定时器变量)等。从这个角度来看是对不同的工作使用不同的互斥锁是否正确?

【问题讨论】:

    标签: synchronization locking pthreads mutex deadlock


    【解决方案1】:

    让我清楚 Mutex-: “互斥锁通常用于序列化对不能由多个线程同时执行的可重入代码部分的访问。互斥锁对象只允许一个线程进入受控部分,迫使其他试图访问该部分的线程等待,直到第一个线程退出该部分。”

    只使用一个互斥锁来同步多个 一个资源?

    这完全取决于您的应用程序。如果这些资源是依赖的,你不能并行执行,那是正常的。

    从这个角度来看,使用不同的互斥锁是正确的吗? 不同的工作?

    是的,您应该使用不同的互斥锁,这样您就可以同时执行不同的任务。因为在这种情况下,工作彼此不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      相关资源
      最近更新 更多