@Fox Спасибо! смотрел этот топик. Но по видео все равно много осталось вопросов. и очень глаза режет старый интерфейс.
Как избавиться от состояния гонки?
-
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
-
@UserTrue said in Как избавиться от состояния гонки?:
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни. Слушай, удали линку на свой проект, там в нём модули твои. что бы никто не подмутил, мало ли.
-
@mordor said in Как избавиться от состояния гонки?:
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни.
Она перетрется только, если между чтением и установкой глоб переменной будет асинхронное действие
-
@mordor said in Как избавиться от состояния гонки?:
@UserTrue said in Как избавиться от состояния гонки?:
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни. Слушай, удали линку на свой проект, там в нём модули твои. что бы никто не подмутил, мало ли.
Я где то на форуме уже приводил пример работы с объектом в глобальной переменной в многопотоке. Каждое свойство объекта - номер потока, значение - рандомная строка. Скрипт после установки значения спал случайное время и проверял изменилось ли значение. Если изменилось, то скрипт прерывался. В итоге я гонял 100 потоков 10 минут и ни одной ошибки не возникло
-
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@UserTrue said in Как избавиться от состояния гонки?:
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни. Слушай, удали линку на свой проект, там в нём модули твои. что бы никто не подмутил, мало ли.
Я где то на форуме уже приводил пример работы с объектом в глобальной переменной в многопотоке. Каждое свойство объекта - номер потока, значение - рандомная строка. Скрипт после установки значения спал случайное время и проверял изменилось ли значение. Если изменилось, то скрипт прерывался. В итоге я гонял 100 потоков 10 минут и ни одной ошибки не возникло
Буду очень благодарен, если дашь линку в личку.
-
@mordor said in Как избавиться от состояния гонки?:
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@UserTrue said in Как избавиться от состояния гонки?:
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни. Слушай, удали линку на свой проект, там в нём модули твои. что бы никто не подмутил, мало ли.
Я где то на форуме уже приводил пример работы с объектом в глобальной переменной в многопотоке. Каждое свойство объекта - номер потока, значение - рандомная строка. Скрипт после установки значения спал случайное время и проверял изменилось ли значение. Если изменилось, то скрипт прерывался. В итоге я гонял 100 потоков 10 минут и ни одной ошибки не возникло
Буду очень благодарен, если дашь линку в личку.
линку в личку? В смысле ссылку на личный чат со мной? Или ты про пример скрипта?
-
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@UserTrue said in Как избавиться от состояния гонки?:
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни. Слушай, удали линку на свой проект, там в нём модули твои. что бы никто не подмутил, мало ли.
Я где то на форуме уже приводил пример работы с объектом в глобальной переменной в многопотоке. Каждое свойство объекта - номер потока, значение - рандомная строка. Скрипт после установки значения спал случайное время и проверял изменилось ли значение. Если изменилось, то скрипт прерывался. В итоге я гонял 100 потоков 10 минут и ни одной ошибки не возникло
Буду очень благодарен, если дашь линку в личку.
линку в личку? В смысле ссылку на личный чат со мной? Или ты про пример скрипта?
Пример скрипта, или ссылку на тему где это обсуждается, было бы реально интересно почитать.
-
@FastSpace said in Как избавиться от состояния гонки?:
Для этих целей есть Mysql.
Хочешь серьёзную базу. Пора отвыкать от детского сада.Нафиг ты ее всем навязываешь? Она в 99% случаев нафиг не нужна и хватает БАСовской и в 1% тут уже на любителя, можно с БАСовской монго через дравер работать либо с другой БД хоть и mysql. С задачами которые для скриптов справится абсолютно любая БД!!!
-
@UserTrue said in Как избавиться от состояния гонки?:
Она в 99% случаев нафиг не нужна и хватает БАСовской и в 1% тут уже на любителя, можно с БАСовской монго через дравер работать либо с другой БД хоть и mysql. С задачами которые для скриптов справится абсолютно любая БД!!!
Хватает, но не с тем скудным набором действий из раздела "База". Ноду придеться подключать, тот же самый гемор как и Mysql.
Если выбирать между 2 геморами я выберу Mysql. -
@FastSpace said in Как избавиться от состояния гонки?:
Ноду придеться подключать, тот же самый гемор как и Mysql.
Если выбирать между 2 геморами я выберу Mysql.я же говорюю тут на любителя, кстати можно и без ноды, через shell, но там есть некоторые ограничения на объем передаваемых данных в запросах.
-
@mordor said in Как избавиться от состояния гонки?:
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@UserTrue said in Как избавиться от состояния гонки?:
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни. Слушай, удали линку на свой проект, там в нём модули твои. что бы никто не подмутил, мало ли.
Я где то на форуме уже приводил пример работы с объектом в глобальной переменной в многопотоке. Каждое свойство объекта - номер потока, значение - рандомная строка. Скрипт после установки значения спал случайное время и проверял изменилось ли значение. Если изменилось, то скрипт прерывался. В итоге я гонял 100 потоков 10 минут и ни одной ошибки не возникло
Буду очень благодарен, если дашь линку в личку.
линку в личку? В смысле ссылку на личный чат со мной? Или ты про пример скрипта?
Пример скрипта, или ссылку на тему где это обсуждается, было бы реально интересно почитать.
Здесь уже основное сообщили, а накатать скрипт с озвученной логикой не долго.
тестовый скрипт -
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@Fox said in Как избавиться от состояния гонки?:
@mordor said in Как избавиться от состояния гонки?:
@UserTrue said in Как избавиться от состояния гонки?:
@mordor Не нужен никакой лок, этот пример демонстрирует, что нет гонки и работа происходит синхронно, в противном случае, потоки бы перетерли данные в этой переменной и это было бы видно в логе, я не просто так сделал такой вывод лога.
И тут не имеет значения список тут или строка, я сделал через строку для упрощения примера.
Вотже бл*тство, ты себе представить не можешь сколько раз я мудрил лок, потому что думал что данные будут пересекаться из-за этой херни. Слушай, удали линку на свой проект, там в нём модули твои. что бы никто не подмутил, мало ли.
Я где то на форуме уже приводил пример работы с объектом в глобальной переменной в многопотоке. Каждое свойство объекта - номер потока, значение - рандомная строка. Скрипт после установки значения спал случайное время и проверял изменилось ли значение. Если изменилось, то скрипт прерывался. В итоге я гонял 100 потоков 10 минут и ни одной ошибки не возникло
Буду очень благодарен, если дашь линку в личку.
линку в личку? В смысле ссылку на личный чат со мной? Или ты про пример скрипта?
Пример скрипта, или ссылку на тему где это обсуждается, было бы реально интересно почитать.
Здесь уже основное сообщили, а накатать скрипт с озвученной логикой не долго.
тестовый скриптСпасибо