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

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

nomarketing

Client
Регистрация
01.11.2013
Сообщения
913
Реакции
179
Баллы
43
Запускаю скрипт,
Пишет через время что файл типа занят другим процесом нет доступа.
Как этого избежать в мультипотоке ?
 
использовать зеновские списки, таблицы или работать через с субд. Если у вас специфический бинарный файл то... и на это есть свой способ.
 
использовать зеновские списки, таблицы или работать через с субд. Если у вас специфический бинарный файл то... и на это есть свой способ.
Мне нужно именно через с# решить это, но как пока не знаю.
Функции - Чтение - Запись.
 
lock(SyncObjects.ListSyncer){
//все что нужно сделать со списком делается здесть
}
 
  • Оценить
Реакции: nomarketing
А закрывать нужно как то после записи в файл ? ну типа клоус или еще что ? в с# ?

Вообщем все тоже ибо запись идет с помощью с System IO ну вообщем средствами С#..
Так что проблема пока не решена..
 
средствами С#..
вам прще всего использовать зеновские списки, как вы будете формировать логику, на шарпе или в маркосах, ваше дело.
Можно и с ним, но здается мне вы этот метод не осилите. Да тут на форуме вобще я не встречал обсуждение ассинхронного доступа к данным помимо зеновских методов и дб. Один раз я заикнулся насчет альтернативы, на меня посмотрели как на изобретателя велосипеда. Так что не мучайтесь, делайте как все делают, а если докажите что зенка не справляется с мультипотоком, требуйте там чета типа исправить баг...
 
  • Оценить
Реакции: orka13
Да ок, никто велосипед не хочет изобретать, вы мне лучше скажите как сделать так что бы файл был доступен ? потокам и не писалось cannon by access
 
каждый месяц на форуме подумается тема по работе с файлами в мультипотоке. Как только топик уходит с первой страницы все начинается по новой. Научитесь пользоваться поиском.
 
На счет листов, переменных, встречал, на счет файлов не встречал.
 
Буду эксперементировать.
 
Я конечно нуб, и в си-шарпах не шарю совсем))
Но, вот тоже недавно столкнулся с похожей проблемой: при запуске пяти потоков для одного шаблона, иногда возникали ошибки при загрузке файлов на сайт.
Долго мучился... и нашёл очень простое решение: перед загрузкой файлов, экшеном «Обработка переменных» устанавливаю для нужных переменных пустоту, – как бы их очищаю.
И, знаете, теперь всё нормально работает, уже несколько дней. Так что, я думаю, что это не простое совпадение.
Может поможет кому-нибудь мой совет.
 
Последнее редактирование:
Я конечно нуб, и в си-шарпах не шарю совсем))
Но, вот тоже недавно столкнулся с похожей проблемой: при запуске пяти потоков для одного шаблона, иногда возникали ошибки при загрузке файлов на сайт.
Долго мучился... и нашёл очень простое решение: перед загрузкой файлов, экшеном «Обработка переменных» устанавливаю для нужных переменных пустоту, – как бы их очищаю.
И, знаете, теперь всё нормально работает, уже несколько дней. Так что, я думаю, что это не простое совпадение.
Может поможет кому-нибудь мой совет.
Не вижу связи :(
 
Видимо не прав был, опять ошибка вылезла... Сорри
Я ж говрю, нуб! ))
 
Последнее редактирование:
Да это не в логах Zenno ошибка, а прям на самом сайте, иногда при загрузке пишет: файл занят другим процессом, невозможно загрузить. Там по-английски, но смысл верно передаю. Т.е. вроде грузит как надо всё, но иногда вылазит надпись на сайте, что файл занят, – короче ошибка.
Наверное, просто сайт глючит! ))

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

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