OK. Je veux avoir deux threads en cours d'exécution. Code actuel:C# Multithreading
public void foo()
{
lock(this)
{
while (stopThreads == false)
{
foreach (var acc in myList)
{
// process some stuff
}
}
}
}
public void bar()
{
lock(this)
{
while (stopThreads == false)
{
foreach (var acc in myList)
{
// process some stuff
}
}
}
}
Les deux accèdent à la même liste, le problème est que le premier thread « foo » ne libère pas le verrou je suppose; car "bar" ne commence que lorsque "foo" est terminé. Merci
Oui, la barre ne commencera qu'après que foo soit terminée, c'est comme ça que le verrou fonctionne, vous devriez donner plus de détails sur la manière dont vous voulez que votre code fonctionne. –
lire une définition de sémaphore/mutex, puis supprimer le verrou –