Я думаю, у меня проблемы с тупиком ... Моя программа работает хорошо, но какое-то время она не реагирует ... ???. В исходном коде (C#) .. нет блокировки (Objet) или ReaderWriterLockSlim ... Я попытался воспроизвести затор с 2 нитями, используя тот же объект (List), но не успех ..Воспроизведение резьбового тупика с простым C#
int n = 0;
List<int> temp = new List<int>();
var up = new Thread(() =>{
for (int i = 0; i < 100000; i++){
n++;
temp.Add(i);
}
});
var down = new Thread(() => {
for (int i = 0; i < 100000; i++){
n--;
try{
temp.Remove(i);
}catch {
Console.WriteLine("No item {0} to remove", i);
}
}
});
up.Start();
down.Start();
down.Join();
up.Join();
Console.WriteLine(String.Join(",",temp));
код бекаса выше все еще работает без тупика .. ??? Может кто-то помочь мне воспроизвести затор с 2 нитями, используя ту же переменную без блокировки (объекта) или блокировки системы ...
заранее благодарим
В каком коде есть _does_ есть проблема? Вы уверены, что это тупик, а не что-то другое, вызывающее невосприимчивость? –
Можете ли вы воспроизвести проблему с вашим производственным кодом? –
Поскольку у вас нет блокировки в этом коде, поэтому не может быть проблемы с блокировкой, но странное поведение. – VahiD