@Fox ссылка из примера с самого верха, работает, мои ссылки в Яваскрипт не запускаются. В node.js всё работает, но медленно и без асинхронна. Желательно сделать в node. Если поможете буду вынужден воспользоваться кнопкой благодарности)
test.xml
Изменение значений в цикле несколькими потоками
-
Здравствуйте.
Два потока (и более) проходят код, потом заходят в цикл.
Цикл при каждом повторе достает строки по порядку из ресурса (с помощью списков).
Затем поток увеличивает значение в строке (например, +1) и преобразует обратно строку в ресурс.
Все бы ничего, но иногда бывает, что потоки идут "впритык" т.е второй поток не успевает взять обновленные после первого потока значения, а берет старое значение строки и получается, что значение увеличивается один раз вместо двух. Как можно избежать данную ситуацию? -
@Zonteak said in Изменение значений в цикле несколькими потоками:
Здравствуйте.
Два потока (и более) проходят код, потом заходят в цикл.
Цикл при каждом повторе достает строки по порядку из ресурса (с помощью списков).
Затем поток увеличивает значение в строке (например, +1) и преобразует обратно строку в ресурс.
Все бы ничего, но иногда бывает, что потоки идут "впритык" т.е второй поток не успевает взять обновленные после первого потока значения, а берет старое значение строки и получается, что значение увеличивается один раз вместо двух. Как можно избежать данную ситуацию?https://ru.wikipedia.org/wiki/Состояние_гонки
Думаю в вашем случае проще использовать глобальную переменную вместо ресурса