работа со списками асинхронна?

Поддержка
  • скажите, если запустить в многопотоке такие вещи как 'взять строку из списка с удалением. записать список в файл" потоки будут ждать свой очереди, одновременно не будут эти действия делать?

  • @bronshik said in работа со списками асинхронна?:

    скажите, если запустить в многопотоке такие вещи как 'взять строку из списка с удалением. записать список в файл" потоки будут ждать свой очереди, одновременно не будут эти действия делать?

    Работа с одним и тем же файлом в многопотоке будет полна ошибок. Блокировки потоков нет, все будут писать и читать одновременно. Лучше используйте ресурс или глобальную переменную.

  • @fox said in работа со списками асинхронна?:

    @bronshik said in работа со списками асинхронна?:

    скажите, если запустить в многопотоке такие вещи как 'взять строку из списка с удалением. записать список в файл" потоки будут ждать свой очереди, одновременно не будут эти действия делать?

    Работа с одним и тем же файлом в многопотоке будет полна ошибок. Блокировки потоков нет, все будут писать и читать одновременно. Лучше используйте ресурс или глобальную переменную.

    Я вобщем хочу запустить такую функцию(вложение) в многопотоке. Это цикл for, с условием пока не кончатся элементы в списке. Чтение ИЗ файла происходит вне функции, до ее запуска и в однопоток. В функции есть только запись в файл, а читается только список. Админ как-то писал о том что синхронно, что асинхронно, сходу не могу найти. Надо бы завтра быстро прогнать пару файлов через этот шаблон, не хочу провозится. В однопоток все работает отменно, только идет часами
    ((0_1552541115104_12233.jpg

  • @bronshik said in работа со списками асинхронна?:

    @fox said in работа со списками асинхронна?:

    @bronshik said in работа со списками асинхронна?:

    скажите, если запустить в многопотоке такие вещи как 'взять строку из списка с удалением. записать список в файл" потоки будут ждать свой очереди, одновременно не будут эти действия делать?

    Работа с одним и тем же файлом в многопотоке будет полна ошибок. Блокировки потоков нет, все будут писать и читать одновременно. Лучше используйте ресурс или глобальную переменную.

    Я вобщем хочу запустить такую функцию(вложение) в многопотоке. Это цикл for, с условием пока не кончатся элементы в списке. Чтение ИЗ файла происходит вне функции, до ее запуска и в однопоток. В функции есть только запись в файл, а читается только список. Админ как-то писал о том что синхронно, что асинхронно, сходу не могу найти. Надо бы завтра быстро прогнать пару файлов через этот шаблон, не хочу провозится. В однопоток все работает отменно, только идет часами
    ((0_1552541115104_12233.jpg

    Вы ведь в курсе, что потоки из "Вызов функции в несколько потоков" не будут знать о вашем списке в локальной переменной?


    Как происходит запись данных в файл с добавлением строк? Сперва файл читается, затем к этой информации добавляется новая строка и этой информацией перезаписывается весь файл. Если несколько потоков будут делать это одновременно, могут возникнуть разного рода ошибки.

    Для записи данных в файл в многопотоке лучше используйте ресурс "из файла" с опцией "запись" без "чтение".

  • 0 Votes
    10 Posts
    851 Views
  • 0 Votes
    6 Posts
    830 Views
  • 0 Votes
    14 Posts
    1022 Views
  • 0 Votes
    4 Posts
    1053 Views
  • 0 Votes
    1 Posts
    451 Views