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

serg32

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

Samoylov_83

Client
Регистрация
25.08.2015
Сообщения
228
Благодарностей
70
Баллы
28
Перейти на mysql.
Можно на c#, писать с локом списков.
Можно велосипед изобретать и, например, генерить вначале проекта рандомное имя файла, а по окончанию проекта туда писать данные, шанс пересечения минимальный.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Так если в БД писать аналогичная ситуация, например если берет построчно он может взять строку не ту, которая принадлежит ему. А как лочить список?
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
Здравствуйте. У меня в проекте участвует список, в который складываются данные. В одном потоке работает все отлично. Когда подключаем много потоков, данные начинают перемешиваться, так как каждый поток обращается к данному файлу, и происходят ошибки. Каким образом возможно решить данную проблему?
сколько потоков на базу?
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 375
Благодарностей
2 041
Баллы
113

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

Привять файл к списку. Вроде же опять не давно фиксили.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Сейчас я пользуюсь именно списком а не БД, так как думал что в БД будет аналогичная ситуация что он будет выдергивать строки построчно
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

Операции над списком привязать файл
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 375
Благодарностей
2 041
Баллы
113

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Операции над списком привязать файл
Смотрите, я правильно понял? Получается что если я использую список1 и к нему привязываю рандомный файл, то параллельно работающий проект, в котором тоже есть список1, но привязывает другой файл, то каждый поток будет пользоваться своим привязанным файлом?
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Смотрите, я правильно понял? Получается что если я использую список1 и к нему привязываю рандомный файл, то параллельно работающий проект, в котором тоже есть список1, но привязывает другой файл, то каждый поток будет пользоваться своим привязанным файлом?
Файл блокируется на время, пока поток его использует.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Всем кто отписался в теме спасибо, вроде разобрался.

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

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

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

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

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

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