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

Veja como desenvolver para Drones!

Share this on WhatsAppAPI para drones é disponibilizada veja como acessar A empresa 3D Robotics desenvolveu e disponibilizou uma API para controlar drones chamada DroneKit. A API é de código

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

O que é Npm, Bower, Gulp, Nuget, TypeScript e Sass?

Share this on WhatsAppVeja o que é e para que serve essas novas ferramentas! Venho hoje através deste post esclarecer o que é e para que serve as ferramentas Npm,

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