从我正在阅读的内容看,信号量旨在允许多个线程同时访问资源池。我还读到,互斥锁只允许单个线程一次访问资源。我目前正在使用一些使用SemaphoreSlim
的代码来确保只有一个线程可以访问资源。
创建信号量是否有意义,只有一个线程可以同时访问资源池?在这种情况下,为什么不使用Mutex
?或者(从我正在阅读的内容)C#中的类似结构 - lock
或Monitor
?听起来像互斥锁/锁定/监视器更简单,并且潜在误导性更小。
答案 0 :(得分:1)
如果单线程被授予对资源的独占访问权限,我就不会看到为什么不使用Mutex
或任何其他类型的独占锁定的原因。
在这种情况下,听起来像互斥锁/锁定/监视器更简单,更少 潜在地误导。
不能与此争论。