public static void ReturnProtocolThreadSafe(Protocol protocol) { if (_registProtocolFactory != null && protocol != null) { lock (_registProtocolFactory) { ProtocolFactry factory = null; if (_registProtocolFactory.TryGetValue(protocol.GetMessageID(), out factory)) { factory.Return(protocol); } } } }
public static Protocol GetProtocolThreadSafe(int type) { Protocol protocol = null; lock (_registProtocolFactory) { ProtocolFactry factory = null; if (_registProtocolFactory.TryGetValue(type, out factory)) { protocol = factory.Get(); } } return(protocol); }