Хорошо. Я хочу запустить два потока. Текущий код:C# Многопоточность
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
}
}
}
}
Оба имеют доступ к такой же список, проблема в том, что первая нитка «Foo» не отпуская замок я предполагаю; потому что «bar» запускается только тогда, когда выполняется «foo». Спасибо
Да, бар начнется только после того, как будет выполнено foo, вот как работает блокировка, вы должны дать более подробную информацию о том, как вы хотите, чтобы ваш код запускался. –
читает определение семафора/мьютекса, а затем удаляет блокировку –