next up previous contents
Next: Константы Up: Способность языка к взаимодействию Previous: Атрибуты   Contents

Дополнительное состояние

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



Alex Otwagin 2002-12-10