Членские переменные класса Ruby хорошо теперь?

Блокировка следующих доменов на моем брандмауэре успешно остановила работу приложения uber eats:

cn-geo1.uber.com
cn-dc1.geixahba.com
cn-dc1.shaipeeg.net
auth.uber.com
cn-dc1.oojoovae.org
cn-dc1.ooshahwa.biz
cn-dc1.naevooda.co
5
задан Piotr Dobrogost 6 July 2009 в 16:34
поделиться

2 ответа

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

Я думаю, что существует изменение обзора для @@ переменные в Ruby 1.9, который должен, вероятно, быть принят во внимание - мы все будем там однажды.

Было ли конкретное использование, которое Вы имели в виду? Я думал, что мне недавно был нужен тот, но это оказалось отказом в моем (поверхностном) понимании темы - в чем я на самом деле нуждался, была переменная экземпляра на классе. (Я создавал модуль для расширения класса так, чтобы я мог добавить некоторое описание стиля AR макро-совершенство.)

1
ответ дан 14 December 2019 в 13:48
поделиться

Любое общее изменяемое состояние по сути небезопасно потоком. Необходимо заблокировать все доступы, чтобы гарантировать, что все безопасно, и удостоверьтесь, что все повторно используемо. @@foo особенно плохо, потому что более трудно контролировать код, потому что любой подкласс может получать доступ к переменной. Направляющие 2 + просто "решили" проблему путем аудита всего и проверки, что взаимные исключения и другие примитивы синхронизации использовались в случае необходимости.

5
ответ дан 14 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: