Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Как передавать значение переменной из одного потока в другой

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Rasta



Зарегистрирован: 01.08.2005
Сообщения: 35

СообщениеДобавлено: Ср Окт 05 2005 16:56    Заголовок сообщения: Как передавать значение переменной из одного потока в другой Ответить с цитатой

? С++

Какой способ самый лучший? Два приложения рабтают в разных потоках. Видеоплеер в одном, а фильтр (DirectShow) в другом. Но из плеера надо передавать значение переменной в фильтр. В одно приложение засунуть их нельзя, да и это неправильно.

Что лучше всего использовать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Чт Окт 06 2005 09:14    Заголовок сообщения: Ответить с цитатой

Ну опять неправильно заданный вопрос. Вопросы по вопросу сходу.

Какая ОС?
Какой инструментарий разработки?

Самый дибильный ответ, который приходит в голову сделать канал и перенаправить потоки ввода-вывода.

Потом как это два приложения работают в разных потоках? Давайте разберемся с терминологией. Есть процесс, у которого своя ВП, процессорное время ему выделяется, ресурсы там всякие. Есть поток, поток внутри процесса, у потока как правило нет своих личных ресурсов, он юзает те которые есть у процесса. (Терминология Э. Танненбаума) Так что уточните что и где работает.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Rasta



Зарегистрирован: 01.08.2005
Сообщения: 35

СообщениеДобавлено: Чт Окт 06 2005 12:36    Заголовок сообщения: Windows XP, Visual Studio. Net Ответить с цитатой

Разные потоки, потому что фильтр и плеер не используют друг-друга. Они работают поотдельности. плеер использует Renderer'a, а фильтр занимается входным файлом и передает обработанные данные другому фильтру.

Надо из плеера передать значение переменной фильтру! Как это сделать? Подскажите пожалуйста.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Чт Окт 06 2005 12:59    Заголовок сообщения: Ответить с цитатой

Какая ОС?
Какой инструментарий?

Если потоки разные а процесс один, то доступ ко всем переменным имеют оба потока, можно ее синхронизировать еще. Если процессы разные то сложнее, это уже в зависимости от ОС.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DmitryShm



Зарегистрирован: 17.11.2003
Сообщения: 211
Откуда: Казань

СообщениеДобавлено: Чт Окт 06 2005 13:00    Заголовок сообщения: нах Ответить с цитатой

Мля, Rasta, говорят же тебе, что разные процессы, а в них потоки крутятся. Даю ответ: юзай механизмы InterProcess Communication той операционной системы, в которой юзаешься. Как правило, это пайпы или сокеты. DDE в Windows не использовать, т.к. устарело! Для того, чтобы использовать пайпы или сокеты, нужно написать логику клиент-серсерного взаимодействия (как ни как, но придется), а лучше позаимствовать. Не знаю точно как в Linux, а в Windows все объекты ядра для этого имеются (главное не переборщить с переходами в/из режима ядра, т.к. иначе тормозить будет : в пользовательском режиме код как правило работает быстрее). Как совет: читать книжку Рихтера о Win32 внимательно! Если нет, то могу сцылку на электронный вариант кинуть. Без знания предметной области далеко не уедешь, ведь сервер и клиент наверняка придется запускать в отдельных потоках (одного процесса!), чтобы пользователь не замечал "передачи переменной" Very Happy .
_________________
love IT
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Rasta



Зарегистрирован: 01.08.2005
Сообщения: 35

СообщениеДобавлено: Чт Окт 06 2005 15:31    Заголовок сообщения: Ответить с цитатой

Кинь адрес ссылки.

Можно, наверно, еще и memory file использовать???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...