Ruby和互斥体

时间:2014-03-19 10:54:58

标签: ruby multithreading mutex

我有一个多线程应用程序。我有三个共享资源。不同的线程将同时调用这些资源。我需要有一个互斥量。一个互斥锁是否足够,或者我应该为每个资源创建一个互斥锁?使用多个互斥锁时它会加速吗?

1 个答案:

答案 0 :(得分:1)

如果资源彼此独立,则没有理由使用单个互斥锁来保护它们。您将匮乏其他线程访问他们可以安全使用的资源。

如果可能,请为每个资源使用一个互斥锁。

wrt性能 - 如果资源是独立保护的,而不是拥有单个共享的互斥锁,则访问共享资源的线程更有可能表现良好 - 但它取决于更多因素而不仅仅是这个。