Как работает многопоточность

  • Автор темы Автор темы serg32
  • Дата начала Дата начала

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Реакции
15
Баллы
18
Здравствуйте. У меня в проекте участвует список, в который складываются данные. В одном потоке работает все отлично. Когда подключаем много потоков, данные начинают перемешиваться, так как каждый поток обращается к данному файлу, и происходят ошибки. Каким образом возможно решить данную проблему?
 
Перейти на mysql.
Можно на c#, писать с локом списков.
Можно велосипед изобретать и, например, генерить вначале проекта рандомное имя файла, а по окончанию проекта туда писать данные, шанс пересечения минимальный.
 
Так если в БД писать аналогичная ситуация, например если берет построчно он может взять строку не ту, которая принадлежит ему. А как лочить список?
 
Здравствуйте. У меня в проекте участвует список, в который складываются данные. В одном потоке работает все отлично. Когда подключаем много потоков, данные начинают перемешиваться, так как каждый поток обращается к данному файлу, и происходят ошибки. Каким образом возможно решить данную проблему?
сколько потоков на базу?
 
Сейчас я пользуюсь именно списком а не БД, так как думал что в БД будет аналогичная ситуация что он будет выдергивать строки построчно
 
Операции над списком привязать файл
Смотрите, я правильно понял? Получается что если я использую список1 и к нему привязываю рандомный файл, то параллельно работающий проект, в котором тоже есть список1, но привязывает другой файл, то каждый поток будет пользоваться своим привязанным файлом?
 
Смотрите, я правильно понял? Получается что если я использую список1 и к нему привязываю рандомный файл, то параллельно работающий проект, в котором тоже есть список1, но привязывает другой файл, то каждый поток будет пользоваться своим привязанным файлом?
Файл блокируется на время, пока поток его использует.
 
Всем кто отписался в теме спасибо, вроде разобрался.

Но теперь появилась следующая проблема:

У меня есть несколько проектов, которые работают стабильно уже не одну сотню раз выполнялись. Но как только я дал нагрузку на один проект (20 потоков) начались проблемы с другими проектами, которые работали без нареканий на все 100%

Как правило ошибка связана с ненахождением какого либо элемнта по условиям поиска или ошибка в инстансе,
m84Jiyv53GfCkE
чего никогда вообще не было.
https://yadi.sk/i/m84Jiyv53GfCkE

Может кто подскажет с чем это связано и как это избежать?
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)