Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Синхронизация доступа к данным

2.2K
01 февраля 2005 года
VBuser
25 / / 05.09.2003
Чего то раньше программировал и не задумывался вот над чем.

Если я использую потоки, которые обращаются к глобальным переменным, то естесственно надо организовывать их синхронизацию.

А вот если есть класс, который имеет данные и методы, работающие с этими данными. В классе также есть таймер, который в свою очередь так же обращается к данным класса. Насколько я понимаю, таймер - то же своеобразный поток, значит тоже надо организовывать синхронизацию, или нет?
259
01 февраля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by VBuser
Чего то раньше программировал и не задумывался вот над чем.

Если я использую потоки, которые обращаются к глобальным переменным, то естесственно надо организовывать их синхронизацию.

А вот если есть класс, который имеет данные и методы, работающие с этими данными. В классе также есть таймер, который в свою очередь так же обращается к данным класса. Насколько я понимаю, таймер - то же своеобразный поток, значит тоже надо организовывать синхронизацию, или нет?


На сколько я понимаю, таймер это не поток а объект. И обращается он к данным объектов, т.е. экземпляпам некоего класса. Следовательно если ты создашь два экземпляра одного класса, то и их данные будут хранится в разных местах (физически) и соответсвенно будет порождено два объекта таймер, которые будут обрабатывать событие OnTimer последовательно. Сначала второй, потом первый и обращаться они будут к данным соответсвующих объектов.

1.8K
02 февраля 2005 года
_const_
229 / / 26.11.2003
Цитата:
Originally posted by VBuser
Чего то раньше программировал и не задумывался вот над чем.

Если я использую потоки, которые обращаются к глобальным переменным, то естесственно надо организовывать их синхронизацию.

А вот если есть класс, который имеет данные и методы, работающие с этими данными. В классе также есть таймер, который в свою очередь так же обращается к данным класса. Насколько я понимаю, таймер - то же своеобразный поток, значит тоже надо организовывать синхронизацию, или нет?



Таймер - не поток. Он посылает сообщения в очередь. Синхронизация нужна в таком случае только тогда, когда несколько экземпляров класса из разных потоков выборки сообщений таймера обращаются к статической переменной.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог