![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Витаминка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: нет Всего: 1 |
Простите за глупый вопрос, но как создать общую переменную для всех потоков приложения?
Это сообщение отредактировал(а) Витаминка - 12.9.2007, 19:36 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Да вроде не глупый. Такие переменные объявляются в специальной секции - ThreadVar
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
Витаминка, Этот вопрос, хорошо освещен в мануале от SAP (Петрович). Я читаю его и там довольно таки здорово все это дело расписано ;)
|
|||
|
||||
Esperito |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 2.9.2007 Репутация: нет Всего: 3 |
В threadvar объявляется переменная, значение которой для каждого потока будет своё. А вот обычная глобальная переменная var будет общей.
|
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
но не потокобезопасной -------------------- There are always someone smarter than you... |
|||
|
||||
Esperito |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 2.9.2007 Репутация: нет Всего: 3 |
Совершенно верно. Однако неясно, что именно нужно автору ![]() |
|||
|
||||
Витаминка |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: нет Всего: 1 |
Именно такая, но потокобезопасная. Если я возьму запись значения этой переменной в критическую секцию, она станет такой? |
||||
|
|||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: 2 Всего: 7 |
Обязательно!
![]() ЗЫЖ Только в этом случае лучше сделать класс в котором будет инкапсулирована эта переменная и в котором будет обеспечиваться потокобезопасноть. Тогда можно будет, если что, без проблем добавить еще какую-нибудь переменную. Код, обеспечивающий потокобезопасность, будет в одном месте и в одном экземпляре. Намного проще поддержка. -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
Витаминка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: нет Всего: 1 |
Чуть проще пожалуста ![]() |
|||
|
||||
Felan |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: 2 Всего: 7 |
Эх... да куда уж проще
![]() Вот пример. Доступ к переменной fSecondaryPayOnlyHrefStart только через потокобезопасные методы.
-------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
||||
|
|||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
както так:
и вообще советую посмотреть обертки в SyncObjs... -------------------- There are always someone smarter than you... |
|||
|
||||
Витаминка |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: нет Всего: 1 |
О, спасибки! Этих примеров мне вполне хватит
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |