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