Подтвердить что ты не робот

Безопасность потоков ActiveScaffold

Несколько источников утверждают, что ActiveScaffold не является потокобезопасным:

Из тех, что я собираю, изменения конфигурации уровня контроллера и авторизации не являются потокобезопасными. Можно ли считать приложение безопасным, если оно не использует эти компоненты ActiveScaffold? Существуют ли какие-либо другие функции ActiveScaffold, которые не являются потокобезопасными?

4b9b3361

Ответ 1

К сожалению, на официальной документации по этому вопросу не так много, однако есть два полезных цитаты от разработчиков, которые могут вам помочь. Во-первых, в 2010 году, здесь, в этой теме разработчик заявил:

В контроллере с использованием меток mark_records. Отмеченные записи хранятся в сеансе, поэтому их можно получить только от контроллера. Модельные методы были взломаны получить методы модели от текущего контроллера, но он использовал класс переменные, которые не являются потокобезопасными.

ActiveScaffold не является потокобезопасным банкоматом, но я буду исправлять текущие небезопасные код позже, и я не хочу добавлять более безопасный код без потолка. Если методы модели я буду добавлять их с помощью переменных потока

Это означало, что первоначальное намерение заключалось в том, что не было бы безопасности потоков. Однако он разрабатывался.

После этого обсуждения по этому вопросу, похоже, стало тихим, и я не могу найти никаких официальных заявлений. Однако люди, комментирующие версии resent, заявили, что единственная проблема с потоками заключается в том, что изменения в active_scaffold_config должны быть помещены внутри какой-то блокировки, чтобы быть в безопасности, и что остальная часть системы теперь должна быть потокобезопасной.

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

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

Прошу прощения, у меня нет более авторитетного ответа здесь, документация по этому вопросу скудна, и читать код трудно быть уверенным в любом случае, но это самое близкое к тому, что я могу получить (кажется, люди добились успеха используя его с потоками в производстве, по крайней мере).