|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.04.2008, 11:42 | #1 |
Регистрация: 15.04.2008
Сообщений: 3
|
Глобальны переменные для потоков
Здравствуйте. Передо мной стоит задача - организовать многопоточное приложение, в котором есть необходимость хранить ряд соединений с БД. На сколько я понимаю - каждый поток имеет свою область памяти, и другому потоку доступ в неё закрыт?
Значит выходит, что необходимо иметь некоторый участок shared memory, в котором собственно эти соединения и хранить. Используя API среды, для которой я пишу приложение я смог это сделать, и да, действительно, сохраняемые данные доступны изо всех потоков. Но проблема в том, что данные то очень не статичные. API предлагает набор фунций с работой с БД, но выделением памяти для хранения соединения она занимается сама, а значит соединение создастся в области памяти того потока, который его создаёт. В участок разделяемой памяти я могу записать указатель на это соединение, но оно всё-равно останется недоступным. Подскажите, кто имеет опыт работы с потоками и разделяемыми данными, как можно поступить в такой ситуации? Платформа: UNIX (Linux) |
15.04.2008, 12:47 | #2 |
ИСККОНный хакер
Форумчанин
Регистрация: 08.11.2007
Сообщений: 195
|
Объекты CRITICAL_SECTION или Мьютексы смотрели?
#define QUESTION bb || !bb
|
15.04.2008, 17:24 | #3 |
Регистрация: 15.04.2008
Сообщений: 3
|
|
15.04.2008, 18:12 | #4 |
Регистрация: 15.04.2008
Сообщений: 3
|
Виноват, приложение не многоПОТОЧНОЕ, а многоПРОЦЕССНОЕ. Память у потоков общая, а у процессов у каждого своя. Вот в чём проблема.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование потоков | Repz | Общие вопросы Delphi | 6 | 25.01.2008 14:20 |
Несколько потоков | Adm | Общие вопросы Delphi | 13 | 18.01.2008 20:04 |
Перенаправление потоков | Carbon | Win Api | 5 | 25.11.2007 14:46 |
Дескрипторы потоков - Для каждого элемента списка необходимо создать поток, выполняющий требуемые функции | kdv0403 | Общие вопросы Delphi | 2 | 09.06.2007 11:12 |