| |
Экстра-состояние не должно изменяться функциями повторного вызова
копировать или удалить. (Это очевидно из привязки языка Си, но
не очевидно из привязки языка ФОРТРАН). Однако, эти функции могут
модифицировать состояние, к которому косвенно обращаются через
экстра-состо-яние.
Например, в языке Си экстра-состояние может быть указателем на структуру
данных, которая изменяется функциями повторного вызова или копирования; в
ФОРТРАН экстра-состояние может быть индексом входа в COMMON
массив, который изменяется функциями повторного вызова или копирования. В
многопоточной среде, пользователи должны знать, что отдельные потоки могут
вызывать ту же самую функцию повторного вызова одновременно: если эта
функция изменяет состояние, связанное с экстра-состоянием, то должен
использоваться взаимный код исключения, чтобы защитить модификации и
доступы к общедоступному состоянию.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |