Глобальна зміннаУ програмуванні, глобальна змінна (англ. global variable) — змінна, яка доступна в будь-якій області видимості, за винятком перекриття її іншою змінною з тим самим ім'ям. Механізм взаємодій з глобальними змінними називається механізмом глобального середовища. Парадигма глобального середовища протиставляється парадигмі місцевого середовища, згідно з якою всі змінні місцеві без використання спільної пам'яті (тобто всі взаємодії мають відбуватись через обмін повідомленнями). Такі змінні вважаються поганим стилем саме через свою повсюдність: глобальна змінна може бути змінена будь-звідки, (за винятком розташування в захищеній пам'яті) і будь-яка частина пам'яті може залежати від неї. Таким чином глобальні змінні мають необмежений потенціал для створення взаємних залежностей, які створюють додаткову складність. Однак, зрідка, особливо в маленьких програмах, використання глобальних змінних може бути задовільним варіантом. Наприклад, задля уникнення постійної передачі часто використовних змінних через декілька функцій. Глобальні змінні широко використовуються для передачі інформації між різними частинами коду, які не викликають одне одного, такими як конкурентні потоки або обробники сигналів. Без правильного блокування доступу, наприклад із допомогою семафора, код із використанням глобальних змінних не буде потоково безпечним, за винятком змінних тільки для читання розташованих захищеній ділянці пам'яті. Із збільшенням кількості змінних і, відповідно, блокувань збільшуються ймовірність взаємних блокувань. Чому треба уникати глобальних змінних коли це можливо
Посилання
|
Portal di Ensiklopedia Dunia