我正在编写一个使用pthread互斥锁的应用程序。有部分负责不同的工作,一部分用于写入文件(文件描述符资源),第二部分用于处理队列(队列变量),第三部分用于处理计时器(计时器变量)等。从这个角度来看是将不同的互斥体用于不同的工作是否正确?
答案 0 :(得分:0)
让我清楚 Mutex - :"互斥锁通常用于序列化对一部分重入代码的访问,这些代码不能由多个线程同时执行。互斥对象只允许一个线程进入受控部分,强制其他尝试访问该部分的线程等到第一个线程退出该部分。"
通常的做法是只使用一个互斥锁进行同步 一个资源?
这完全取决于您的申请。如果这些资源是依赖的,并且您无法并行执行,那么它是正常的。
从这个角度来看,使用不同的互斥体是正确的 不同的工作?
是的,您应该使用不同的互斥锁,这样您就可以同时执行不同的任务。因为在这种情况下,工作彼此不同。