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 206 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

Visual Studio 0 Comments

Aprenda ser mais produtivo com o Visual Studio

Share this on WhatsAppAprenda atalhos e macetes do Visual Studio Pessoal, resolvi compartilhar com vocês algumas formas de tornar nosso trabalho mais produtivo com o Visual Studio. Sabemos que o

Ferramentas 0 Comments

15 ferramentas que todo desenvolvedor web deveria conhecer!

Share this on WhatsAppHoje venho compartilhar com vocês 15 ferramentas que aumentam e muito minha produtividade em meu dia a dia. São ferramentas online que podem acelerar bastante o nosso

Ferramentas 0 Comments

Notepad.cc pode lhe ajudar em seu trabalho, veja como!

Share this on WhatsAppConheça agora o Notepad.cc, um bloco de notas online Notepad.cc é uma ferramenta extremamente simples, seu objetivo é levar o recurso de bloco de anotações em qualquer

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