Как избежать обращение к файлу двум и более процессам ?

nomarketing

Client
Регистрация
01.11.2013
Сообщения
911
Благодарностей
178
Баллы
43
Запускаю скрипт,
Пишет через время что файл типа занят другим процесом нет доступа.
Как этого избежать в мультипотоке ?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
использовать зеновские списки, таблицы или работать через с субд. Если у вас специфический бинарный файл то... и на это есть свой способ.
 

nomarketing

Client
Регистрация
01.11.2013
Сообщения
911
Благодарностей
178
Баллы
43
использовать зеновские списки, таблицы или работать через с субд. Если у вас специфический бинарный файл то... и на это есть свой способ.
Мне нужно именно через с# решить это, но как пока не знаю.
Функции - Чтение - Запись.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
lock(SyncObjects.ListSyncer){
//все что нужно сделать со списком делается здесть
}
 
  • Спасибо
Реакции: nomarketing

nomarketing

Client
Регистрация
01.11.2013
Сообщения
911
Благодарностей
178
Баллы
43
А закрывать нужно как то после записи в файл ? ну типа клоус или еще что ? в с# ?

Вообщем все тоже ибо запись идет с помощью с System IO ну вообщем средствами С#..
Так что проблема пока не решена..
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
вам прще всего использовать зеновские списки, как вы будете формировать логику, на шарпе или в маркосах, ваше дело.
Можно и с ним, но здается мне вы этот метод не осилите. Да тут на форуме вобще я не встречал обсуждение ассинхронного доступа к данным помимо зеновских методов и дб. Один раз я заикнулся насчет альтернативы, на меня посмотрели как на изобретателя велосипеда. Так что не мучайтесь, делайте как все делают, а если докажите что зенка не справляется с мультипотоком, требуйте там чета типа исправить баг...
 
  • Спасибо
Реакции: orka13

nomarketing

Client
Регистрация
01.11.2013
Сообщения
911
Благодарностей
178
Баллы
43
Да ок, никто велосипед не хочет изобретать, вы мне лучше скажите как сделать так что бы файл был доступен ? потокам и не писалось cannon by access
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
каждый месяц на форуме подумается тема по работе с файлами в мультипотоке. Как только топик уходит с первой страницы все начинается по новой. Научитесь пользоваться поиском.
 

nomarketing

Client
Регистрация
01.11.2013
Сообщения
911
Благодарностей
178
Баллы
43
На счет листов, переменных, встречал, на счет файлов не встречал.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
  • Спасибо
Реакции: nomarketing

nomarketing

Client
Регистрация
01.11.2013
Сообщения
911
Благодарностей
178
Баллы
43
Буду эксперементировать.
 

Trader1985

Client
Регистрация
14.12.2011
Сообщения
131
Благодарностей
31
Баллы
28
Я конечно нуб, и в си-шарпах не шарю совсем))
Но, вот тоже недавно столкнулся с похожей проблемой: при запуске пяти потоков для одного шаблона, иногда возникали ошибки при загрузке файлов на сайт.
Долго мучился... и нашёл очень простое решение: перед загрузкой файлов, экшеном «Обработка переменных» устанавливаю для нужных переменных пустоту, – как бы их очищаю.
И, знаете, теперь всё нормально работает, уже несколько дней. Так что, я думаю, что это не простое совпадение.
Может поможет кому-нибудь мой совет.
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Я конечно нуб, и в си-шарпах не шарю совсем))
Но, вот тоже недавно столкнулся с похожей проблемой: при запуске пяти потоков для одного шаблона, иногда возникали ошибки при загрузке файлов на сайт.
Долго мучился... и нашёл очень простое решение: перед загрузкой файлов, экшеном «Обработка переменных» устанавливаю для нужных переменных пустоту, – как бы их очищаю.
И, знаете, теперь всё нормально работает, уже несколько дней. Так что, я думаю, что это не простое совпадение.
Может поможет кому-нибудь мой совет.
Не вижу связи :(
 

Trader1985

Client
Регистрация
14.12.2011
Сообщения
131
Благодарностей
31
Баллы
28
Видимо не прав был, опять ошибка вылезла... Сорри
Я ж говрю, нуб! ))
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

Trader1985

Client
Регистрация
14.12.2011
Сообщения
131
Благодарностей
31
Баллы
28
Да это не в логах Zenno ошибка, а прям на самом сайте, иногда при загрузке пишет: файл занят другим процессом, невозможно загрузить. Там по-английски, но смысл верно передаю. Т.е. вроде грузит как надо всё, но иногда вылазит надпись на сайте, что файл занят, – короче ошибка.
Наверное, просто сайт глючит! ))

И плюс ещё, я например загружаю 15 файлов – как надо, а потом, вдруг прога пытается загрузить 30, – в два раза больше.
Попробовал "очищать" переменные и вроде всё нормально стало. Но, видимо просто совпало так ))
 
Последнее редактирование:

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