При парсенге во много потоке функци lock(SyncObjects.TableSyncer) помогает

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

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 188
Реакции
38
Баллы
48
Парсю с сайта таблицу и что бы ускорить, решил парсинг сделать во много потоке. Но я знаю что в таком случае таблица может не корректно записываться, т.е некоторые данные не записываются. Подсказали функцию lock(SyncObjects.TableSyncer), подскажите насколько она эффективная
 
обычный лок. как он может быть эффективным или нет ? он просто блокирует выполнение кода в других потоках в этом месте.
какая таблица то ? локальная или гугл ?
 
Парсю с сайта таблицу и что бы ускорить, решил парсинг сделать во много потоке. Но я знаю что в таком случае таблица может не корректно записываться, т.е некоторые данные не записываются. Подсказали функцию lock(SyncObjects.TableSyncer), подскажите насколько она эффективная

Тоже были такие проблемы, но для себя я нашел решение в использовании базы данных вместо таблицы. На практике работает стабильнее и быстрее, чем запись перезапись файла.

Может тоже такой вариант подойдёт.
 
Последнее редактирование:
  • Оценить
Реакции: Sho
обычный лок. как он может быть эффективным или нет ? он просто блокирует выполнение кода в других потоках в этом месте.
какая таблица то ? локальная или гугл ?
Локальная таблица, я запустил 10 потоков. Один поток собирает данные за 1-н день, т.е 10 потоков 10 разных дней. Вот и интересуюсь данные будут все записываться или нет
 
Локальная таблица, я запустил 10 потоков. Один поток собирает данные за 1-н день, т.е 10 потоков 10 разных дней. Вот и интересуюсь данные будут все записываться или нет
не проверишь, не узнаешь :bk:
вообще лучше БД использовать, хотя бы локальную. там хотя бы механизм транзакций есть, ошибки выдает если что. хоть как то можно контролировать факт записи.
 
  • Оценить
Реакции: Alexbrush
3 человека ответили и все за БД :-)
 
  • Оценить
Реакции: Sho и djaga
3 человека ответили и все за БД :-)
меня больше всего прикалывает, когда модератор/админ советует отказаться от встроенного функционала программы и использовать стороннее решение и хранилище :bk:
 
меня больше всего прикалывает, когда модератор/админ советует отказаться от встроенного функционала программы и использовать стороннее решение и хранилище :bk:


Так он вроде и использует работу с внешним файлом, а не только с таблицей внутри самой зенки (проекта). Работа с БД также по сути встроенный функуионал, просто как более удобная альтернатива таблицам можно это использовать при работе в многопотоке, в частности.
 
  • Оценить
Реакции: Mikhail B.

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