Взятие строк рандомно

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

Mandyson

Client
Регистрация
03.06.2012
Сообщения
410
Реакции
84
Баллы
28
Давно интересовал простой вопрос.
Как происходит синхронизация у зенки по удалению строчек в файле, если идет многопоточный режим?
Я все проекты реализую так. 1 - вычисление общего кол-ва строчек 2 - рандом от 0 до общего 3 - в конце удаление строки по номеру
Но возникает резонный вопрос, когда идет многопоток строчки сдвигаются и общее кол-во постоянно уменьшается:rolleyes: не удаляется ли строка, которая еще не задействована, а прошлая сохраняется?
 
Давно интересовал простой вопрос.
Как происходит синхронизация у зенки по удалению строчек в файле, если идет многопоточный режим?
Я все проекты реализую так. 1 - вычисление общего кол-ва строчек 2 - рандом от 0 до общего 3 - в конце удаление строки по номеру
Но возникает резонный вопрос, когда идет многопоток строчки сдвигаются и общее кол-во постоянно уменьшается:rolleyes: не удаляется ли строка, которая еще не задействована, а прошлая сохраняется?
Исходя из здравого смысла скажу - полюбому будут косяки) хорошо если список большой, но если список на 12 строк и запущено 10 потоков, возможны приключения. Для того чтобы все нормально работало, надо и количество строк в списке и значение и удаление делать под одним локером (имхо), А если делать 2 экшена - то автоматом логично что единого локера для потока не будет. Следовательно - конструкция будет бажная)
 
Давно интересовал простой вопрос.
Я все проекты реализую так. 1 - вычисление общего кол-ва строчек 2 - рандом от 0 до общего 3 - в конце удаление строки по номеру

Зачем?
Есть экшен взятия рандомной строки с удалением.
 
Есть экшен взятия рандомной строки с удалением.
Так смысл в том, что шаблон может не выполниться, а строка всегда удаляется. Именно поэтому я переношу экшен удаления в конец выполнения шаблона.
под одним локером (имхо)
что за локеры?:o
 
1) Я в таком случае по бедэнду пишу взятую строку обратно в фаил в конец списка - и все ок
2) это из программирования. Я конечно хз как оно устроено внутри зенки, но я почти уверен что именно так))). Думаю вам не строит на этом щас заморачиваться, но по простому - каждый поток блокирует доступ к фаилу для других потоков, пока сам с ним не закончит все что хочет)
 
1) Я в таком случае по бедэнду пишу взятую строку обратно в фаил в конец списка - и все ок

Вот вам ответ на проблему :)
 
тоже использую возврат данных по бед энду.. хорошее решение..
выход - хорошенько оттестирвоать шаблон, проверить на все возможные глюки, которые могут возникнуть..
стопорятся наверное где нибудь в циклах, из которых нет корректного выхода?
 
тоже использую возврат данных по бед энду.. хорошее решение..
выход - хорошенько оттестирвоать шаблон, проверить на все возможные глюки, которые могут возникнуть..
стопорятся наверное где нибудь в циклах, из которых нет корректного выхода?

Обычно действительно перегруженные шаблоны с использованием проксей, точно не сказать какие)
Может банально ребутнутся сервак, т.к. часто там ставлю зеннобокс.
 
1) Я в таком случае по бедэнду пишу взятую строку обратно в фаил в конец списка - и все ок
Это из каждого экшена по красному выходу выводить на сохранение?
 
  • Оценить
Реакции: zennoX
Ух, ты не знал!

Это все недостаток нормальной справки сказывается!)

Авторы, берите пример с Datacol, у них справка - загляденье.

http://floomby.ru/s1/vWxax5
 
Нет))) это недостаток усидчивости, любопытства и лени)))
 
С недостатком лени обычно не доходят до этого форума))
Ссори за офтоп)
Еще раз спасибо
 
А вот и нет))) сюда добираются самые ленивые)))) которые хотят заставить эту шарманку на столе работать вместо себя))))
А самые ленивые среди ленивых ищут пути, чтобы и проекты были покороче)))))
 
Верно, перепутал, это и имел в виду)))
 
Еще вопрос, если работа шаблона заканчивается по красному выходу с последующим выполнением экшенов, конечный результат работы шаблона успех или неуспех? (в плане статы в зеннопостере, не в пм)
 
Успех. Ты же нарисовал обработку исключений, значит все спланировал и предусмотрел)))
 
Если имеете ввиду Bad end, то это считается неуспехом.
 
  • Оценить
Реакции: zennoX

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