读/写同步器,获取锁的所有者

时间:2015-07-09 00:39:37

标签: c# multithreading locking monitors

可能这是一个简单的问题,但由于缺乏对C#的一些了解,我很难找到解决方案。

这是交易,我必须用5个方法实现一个信号量,lockRead,lockWrite,releaseRead,releaseWrite和releaseLockWriter。

前四种方法的名称都是不言自明的,最后一种是释放写入锁并以原子方式获取读锁的方法。

现在我的问题是releaseRead,releaseWrite和releaseLockWriter只能由已获取读或写锁的线程调用。

我怎么知道线程是否是锁的所有者?一个可能的解决方案是为每个线程创建id并在获取锁时传递它们然后再次释放传递id并检查id是否为所有者,但可能有更好的方法。

0 个答案:

没有答案