Fonction : 1 seul accès en même temps maximum

Signaler
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
-
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
-
Bonjour,

Mon application utilise au maximum le multithreading, et j'ai donc un problème :

une fonction manipule des fichiers, je peux donc faire qu'un seul accès en même temps ... mais comment faire ?

je précise que la fonction est dans un module, je ne peux donc pas faire de SyncLock Me.

Merci d'avance, parce que là je rame

2 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Je ne sais pas si cela pourra t aider.
Mais voici le principe.
Un Booleen a false.
Le premier qui accede le met a true
d'autre veulent y acceder=> si True je sors.
Le premier a terminer => Bool a remis a false.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
j'avais pensé à ça mais le problème c'est qu'il faut faire patienter les threads (au risque de gelé 1 thread ...)

exemple :

Dim busy as boolean = false

Function ...
busy = true
...
busy = false
return ...
End Function

If busy = false then
    Function ..()
Else
    Thread.Sleep(50)
End If

en fait je demandais si y'a pas un autre solution : plus "belle"
merci pour ta réponse jrivet, c'est surement ce que j'utiliserai ...