Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19029|Resposta: 0

[Fonte] C# realiza operações de travessia segura em um ambiente multithreaded

[Copiar link]
Publicado em 18/10/2016 13:55:48 | | |

Este artigo usa List como objeto de operação
A MSDN oficialmente apresenta a declaração de segurança do tópico da Lista:
Esse tipo de membro público estático é seguro para threads. No entanto, nenhum membro de instância pode ser garantido como seguro para threads.
Desde que a coleção não seja modificada, o List pode suportar múltiplos leitores ao mesmo tempo. Enumerar através de um conjunto não é inerentemente um processo seguro para threads. No raro caso de uma enumeração competir com um ou mais acessos de escrita, a única forma de manter as threads seguras é bloquear a coleção durante toda a duração da enumeração. Para permitir que múltiplas threads acessem a coleção para operações de leitura e escrita, você deve implementar sua própria sincronização.
Se você não sincroniza?
Se uma thread realiza uma operação de exclusão e uma thread realiza uma operação de percurso, então, durante o processo, a coleção é modificada, o que fará aparecer uma exceção InvalidOperationException, que solicita: a coleção foi modificada; Operações de enumeração podem não ser realizadas.
Como sincronizar para garantir a segurança da travessia
Zonas críticas, mutexes, são usadas aqui para garantir o processo de travessia de threads, o código de exemplo é o seguinte:






Anterior:Solução para o erro de assinatura jssdk da conta oficial do WeChat sob China Unicom
Próximo:asp.net Tratamento global de exceções e logs de exceções do MVC
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com