você pode bloquear em um dicionário genérico?
-
03-07-2019 - |
Pergunta
ou você deve sempre criar algum outro objeto de bloqueio?
Solução
Sim, lançá-lo para um IDictionary e fechadura do .SyncRoot
:
Generic.Dictionary<int, int> dic = new Generic.Dictionary<int, int>();
lock (((IDictionary)dic).SyncRoot)
{
// code
}
Graças a este fonte para a informação.
É claro que um dicionário thread-safe seria agradável, também, como já foi sugerido.
Outras dicas
Você pode bloquear em qualquer objeto que você deseja (exceto de valor tipos). É de recomendado que para bloqueio no objeto .SyncRoot.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow