Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Потоки, Куда прикрутить потоки 
:(
    Опции темы
Artemon
Дата 11.3.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Если вы мне предложите более лаконичное решение примера, который я привел (конечно же обоснованное решение), то я соглашусь с вами, сейчас получается все на уровне разговора без аргументов (особенно GoldFinch)

Добавлено через 1 минуту и 54 секунды
Цитата

с данной программой все просто, ее просто не надо писать   smile 


Ну ты тоже скажешь, это мой хлеб практически.


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
GoldFinch
Дата 11.3.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Цитата(Lazin @  11.3.2009,  15:33 Найти цитируемый пост)
блин, откуда вы все знаете мою фамилию?

тут полфорума - экстрасенсы

синхронизация через критические секции выглядит так

Код

... foo(...) //функция или метод которая должна быть синхронной
{
  Synchronizer SinchronizeMe(); //заклинание которое оборачивает функцию в критическую секцию
  ... //тут работаем с данными (читаем или пишем)
};

- лаконичнее некуда  - 1 строчка на то чтобы сделать функцию thread-safe

неужели WM_COPYDATA в каком-то месте удобнее?

Это сообщение отредактировал(а) GoldFinch - 11.3.2009, 15:48
PM MAIL ICQ   Вверх
Artemon
Дата 11.3.2009, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Критическая секция - это как говорится хорошо,

Покажи мне пример в котором из вторичного потока выводятся данные в Windows окно.

Если кто-то покажет более удобный способ сделать то, о чем я говорю, то я с удовольствием буду его использовать, я ведь не враг самому себе   smile 

Это сообщение отредактировал(а) Artemon - 11.3.2009, 16:08


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Lazin
Дата 11.3.2009, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



Код

//общие данные
std::list<std::string> queue;
boost::mutex mutex;
UINT user_msg = RegisterWindowMessage("my message");
//поток
void thread()
{
     ...чет фигня какая-то случилась, надо сообщить пользователю...
    {
        boost::mutex::scoped_lock lock(mutex);
        queue.push_back( std::string("message") );
        PostMessage(window_handle, user_msg, 0, 0);
    }
}


//обработчик сообщений
while(GetMessage(msg, 0, 0))
{
    ....
    if(msg.message == user_msg)
    {
        std::string message;
        {
        boost::mutex::scoped_lock lock(mutex);
        message = queue.back(); 
        queue.pop_back();
        }
    ...показываем сообщение...
    }
}

Цитата(Artemon @  11.3.2009,  15:41 Найти цитируемый пост)
Ну ты тоже скажешь, это мой хлеб практически

а как-же вечные муки в аду? smile 
PM MAIL Skype GTalk   Вверх
Artemon
Дата 11.3.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Ну вот ты используешь PostMessage + Сообщение + Mutex
И чем оно лучше SendMessage + Сообщение ?
Вообще в упор не вижу никаких плюсов.

Добавлено через 33 секунды
Цитата

а как-же вечные муки в аду?  smile 


Все там будем...



--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Lazin
Дата 11.3.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



Цитата(Artemon @  11.3.2009,  16:32 Найти цитируемый пост)
Вообще в упор не вижу никаких плюсов.

твои проблемы)
Цитата(Artemon @  11.3.2009,  16:32 Найти цитируемый пост)
И чем оно лучше SendMessage + Сообщение ?

тем, что в случае SendMessage, поток вызвавший SendMessage будет ждать пока не отработает оконная процедура, а в моем коде этого не будет
PM MAIL Skype GTalk   Вверх
Artemon
Дата 11.3.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Единственное в чем с тобой согласен это:

Цитата

тем, что в случае SendMessage, поток вызвавший SendMessage будет ждать пока не отработает оконная процедура



Но опятьже, я вызываю SendMessage довольно редко и для меня это не критично.



--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0722 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.