Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Julien Bakmezdjian [MS]
Bonjour,
Je pense que le mieux serait de protéger la ressource critique "Fichier" par un mutex (System.Threading.Mutex), comme ceci :
WriteLog(string message, string FileName) { System.Threading.Mutex mut = new System.Threading.Mutex(FileName); // attention à ce que le FileName soit toujours de la même forme (relative ou absolue, mais toujours pareil) mut.WaitOne(); try { // code } finally { mut.ReleaseMutex(); } }
Cela va empêcher 2 threads concurrents d'accéder à la ressource protégée par le mutex au même instant...
Cordialement,
Julien Bakmezdjian
"Jérôme Quintard" wrote in message news:
Salut à tous,
J'ai plusieurs thread qui doivent appeler une fonction du genre :
WriteLog('Message','FichierDeDestination')
Forcément lorsque deux threads appellent la fonction en même temps ça casse. Comment je solutionne ce petit problème ?
Merchi !!!
Jérôme
Bonjour,
Je pense que le mieux serait de protéger la ressource critique "Fichier" par
un mutex (System.Threading.Mutex), comme ceci :
WriteLog(string message, string FileName)
{
System.Threading.Mutex mut = new System.Threading.Mutex(FileName); //
attention à ce que le FileName soit toujours de la même forme (relative ou
absolue, mais toujours pareil)
mut.WaitOne();
try
{
// code
}
finally
{
mut.ReleaseMutex();
}
}
Cela va empêcher 2 threads concurrents d'accéder à la ressource protégée par
le mutex au même instant...
Cordialement,
Julien Bakmezdjian
"Jérôme Quintard" <nospam__jerome.quintard@wanadoo.fr__nospam> wrote in
message news:uDEhRQRzFHA.3812@TK2MSFTNGP09.phx.gbl...
Salut à tous,
J'ai plusieurs thread qui doivent appeler une fonction du genre :
WriteLog('Message','FichierDeDestination')
Forcément lorsque deux threads appellent la fonction en même temps ça
casse.
Comment je solutionne ce petit problème ?
Je pense que le mieux serait de protéger la ressource critique "Fichier" par un mutex (System.Threading.Mutex), comme ceci :
WriteLog(string message, string FileName) { System.Threading.Mutex mut = new System.Threading.Mutex(FileName); // attention à ce que le FileName soit toujours de la même forme (relative ou absolue, mais toujours pareil) mut.WaitOne(); try { // code } finally { mut.ReleaseMutex(); } }
Cela va empêcher 2 threads concurrents d'accéder à la ressource protégée par le mutex au même instant...
Cordialement,
Julien Bakmezdjian
"Jérôme Quintard" wrote in message news:
Salut à tous,
J'ai plusieurs thread qui doivent appeler une fonction du genre :
WriteLog('Message','FichierDeDestination')
Forcément lorsque deux threads appellent la fonction en même temps ça casse. Comment je solutionne ce petit problème ?