Perl: безопасны ли специальные переменные для потоков?

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

Но что, если он получает сбой из-за ошибки, возникающей в параллельном потоке? В новом пакете потоков говорится, что по умолчанию общий доступ к материалам не используется, что означает, что это один из немногих основных языков, в котором '$ a = $ a;' детерминированный по умолчанию (и подумать, что люди говорят, что C # и Java лучше Perl в больших проектах). Но я не уверен насчет специальных глобальных переменных.

Мой инстинкт подсказывает, что они такие же, как и любые другие переменные, поэтому они не будут использоваться совместно. Инстинкт моего мозга подсказывает: «Давайте посоветуемся с мастерами в Stackoverflow».

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

Можно. Я использую специальные переменные без риска того, что они будут затерты другими потоками, даже если я не локализую их сначала? Например. могу ли я извлечь значение из $ @, не беспокоясь об ошибках, возникающих в параллельных потоках?

6
задан Louis 19 July 2011 в 20:41
поделиться