Локальная и глобальная память

Локальная и глобальная память

Суть другого требования, предъявляемого к корректному многопоточному коду, состоит в том, что глобальная память не должна использоваться для локальных целей. Так, применение функции ThFunc, приводившейся ранее в качестве примера, будет необходимым и уместным в тех случаях, когда поток должен располагать собственным экземпляром N. N может быть использовано для хранения временных результатов или размещения аргумента функции. Если же N размещается в глобальной памяти, то все процессы будут разделять единственный экземпляр N, что может стать причиной некорректного поведения программы, как бы тщательно вы ни планировали синхронизацию доступа к этой переменной. Ниже приводится пример подобного некорректного использования N. N должно быть локальной переменной, размещаемой в стеке функции потока.

DWORD N;

DWORD WINAPI ThFunc (TH_ARGS pArgs) {

 …

 N = 2 * pArgs->Count; …

}

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

3.3. Программа rpm: локальная установка пакетов

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

3.3. Программа rpm: локальная установка пакетов 3.3.1. Немного истории Раньше, когда не было Интернет-репозиториев, во всех RH-совместимых дистрибутивах для установки, удаления и обновления пакетов использовалась программа rpm. RPM (аббревиатура oт Red hat Package Manager) - это один из самых


Проводная локальная сеть

Из книги Работа на ноутбуке автора Садовский Алексей

Проводная локальная сеть В настоящее время наиболее популярным сетевым соединением является подключение по проводной локальной сети. Соответствующие сетевые карты уже давно встраиваются в ноутбуки. Некоторые из них поддерживают обмен данными даже со скоростью до 1000


Часть IV Сеть: локальная и Глобальная

Из книги Собираем компьютер своими руками автора Ватаманюк Александр Иванович

Часть IV Сеть: локальная и Глобальная Понятие локальной сетиПроводная сетьБеспроводная сетьПодключение к локальной сетиПодключение к


5.2. Глобальная система пространственных фреймов

Из книги Фреймы для представления знаний автора Мински Марвин

5.2. Глобальная система пространственных фреймов Мне не очень нравится предлагаемая ниже модель, но для систем ИИ раньше или позже нечто подобное непременно потребуется разработать. Глобальный пространственный фрейм (GSF) представляет собой постоянный набор «типичных


10.5. Глобальная сеть Интернет

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

10.5. Глобальная сеть Интернет Зарождением Интернета принято считать момент появления первой компьютерной сети, родиной которой в середине 60-х годов двадцатого века стала Америка.В то время еще не существовало персональных компьютеров, и крупные американские


Глобальная структура наследования

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Глобальная структура наследования Ранее мы уже ссылались на универсальные (universal) классы GENERAL и ANY, а также на безобъектный (objectless) класс NONE. Пришло время пояснить их роль и представить глобальную структуру


D.2.2 Локальная сеть малого офиса

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

D.2.2 Локальная сеть малого офиса Предположим, что организация имеет 100 филиалов и каждому из них требуется от 30 до 40 адресов. Чтобы обезопасить себя, выбираем 10-битовую маску подсети, которая поддержит 62 хоста на каждом сайте. Для адресов от 130.15.101 мы получим четыре


D.2.3 Большая локальная сеть

Из книги Хакинг и антихакинг автора Данилов Павел Петрович

D.2.3 Большая локальная сеть Наконец, предположим, что существует шесть больших локальных сетей. Мы хотим обеспечить соединение каждой из них с 500 хостами. Подойдет 7-битовая маска подсети (см. раздел D.1.1). Типичная 7-битовая подсеть содержит диапазон адресов, подобный


Глава 4. Глобальная сеть — место больших возможностей

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

Глава 4. Глобальная сеть — место больших возможностей Никто не станет спорить, что Интернет прочно вошел в нашу жизнь. Он предоставляет в наши руки огромные возможности по передаче информации. Но Интернет стал также и полигоном для испытания самых грозных форм


1.1.4. Локальная сеть

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

1.1.4. Локальная сеть Взлом в локальной сети может быть проще по многим причинам:? компьютеры подключены по скоростному соединению от 10 Мбит и выше;? есть возможность прослушивать трафик других компьютеров в сети;? можно создавать подставные серверы;? очень редко


Локальная сортировка

Из книги Информационные технологии в СССР. Создатели советской вычислительной техники автора Ревич Юрий Всеволодович


1.4. Локальная анонимность

Из книги автора

1.4. Локальная анонимность Часто пользователям бывает все равно, следит ли за ними грозный администратор или кто-либо еще. Главное, чтобы коллеги по работе или родственники не видели, какие сайты посещались с их локального компьютера.Просто очистить историю посещений


Глобальная система управления народным хозяйством

Из книги автора

Глобальная система управления народным хозяйством В январе 1959 года А. И. Китов посылает в ЦК КПСС новаторский документ (известный как «Первое письмо А. И. Китова Н. С. Хрущёву») (подробнее об этом см. [5.17]), содержащий кардинальные предложения о направлениях полномасштабного


8.1.1. Локальная область видимости

Из книги автора

8.1.1. Локальная область видимости Локальная область видимости – это часть исходного текста программы, содержащаяся в определении функции (или блоке внутри тела функции). Все функции имеют свои локальные области видимости. Каждая составная инструкция (или блок) внутри