Trabalhando com classes Thread Safe (Wait on Lock) no C#

Trabalhando com classes Thread Safe (Wait on Lock) no C#

Fala galera, hoje resolvi trazer um post simples mas que pode ajudar muita gente.

Existem muitos cenários em que uma classe Thread Safe podem ser usadas, é muito comum vermos este cenários quando trabalhamos com muitas threads que manipulam um mesmo documento. Um exemplo claro é a gravação de logs.

Imagine uma aplicação onde abre várias threads e cada uma delas gravam alguma informação em um txt no disco, provavelmente você teria problemas, pois enquanto uma thread está escrevendo, outras outras querem escrever no mesmo tempo, com isso é levantada uma exception.

Para resolver esse tipo de problema podemos usar uma classe muito conhecida chamada ReaderWriterLockSlim, com ela é possível avisar a thread anterior para aguardar o término do processamento, assim que a primeira thread soltar o arquivo a segunda thread entra em ação.

Veja um exemplo abaixo:

Como podemos ver a classe ReaderWriterLockSlim nos facilita resolver este problema locando o processamento para thread corrente através do método EnterWriteLock() e liberando através do método ExitWriteLock().

Bom espero que tenham gostado da dica e até a próxima!

 

Previous Aprenda testar serviços com o Postman
Next Paralelismo com C#

About author

Paulo Rogério
Paulo Rogério 209 posts

Sou apaixonado por tecnologia e adoro criar aplicações desktop, web e mobile. Adoro aprender e compartilhar conhecimento, meu hobby é ajudar as pessoas.

You might also like

BackEnd 0 Comments

Quais as diferenças do EF6 para EF Core, será que vale a pena mudar?

Share this on WhatsAppFala Devs, quanto tempo hein! Bom estou de volta e pretendo voltar a postas artigos técnicos para vocês. E ai já migrou para o Entity Framework Core?

Participe do bate papo ao vivo sobre o TFS

Share this on WhatsAppE ai pessoal beleza? Bom espero que sim, hoje dando uma passada nos grupos de tecnologia no WhatsApp, percebi que algumas pessoas estavam com dúvida de como

Veja como usar a classe Faker no C#

Share this on WhatsAppE ai pessoal, tudo certo com vocês? Bom espero que sim! Devido hoje ser feriado de sexta-feira santa, resolvi aproveitar o tempo livre para falar de uma classe

1 Comment

  1. Muito interessante o seu tópico. Espero que mantenha a qualidade do seu material, o que é raro atualmente na web. As vezes entro aqui para aprender mais. Até postei no g+ e os meus amigos estão curtindo Ótimo trabalho!

Leave a Reply