我有一个聊天连接类,一旦与该Connect方法连接,就可以使用该方法发送消息SendMessage。用户完成后,他们会调用Disconnect.
我想要一个允许无限数量的SendMessage操作获取锁的锁,但只允许Connect/操作Disconnect在它们拥有独占锁并且所有其他SendMessage/ Connect/Disconnect操作已退出并释放锁时开始。
使用这种类型的锁,我可以确保对internal和classes 的SendMessage安全访问Socket,并且可以确保它们都不会被并行调用处理。SocketReaderSocketWriterDisconnect
它还具有排队所有Connect/的好处Disconnect,这显然不能同时运行。
.NET 框架中是否存在这样的锁?