Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Многопоточность и многозадачность 
:(
    Опции темы
ricky
Дата 18.4.2011, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 11.4.2011

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



Доброго всем времени суток!)))Мне необходимо было написать программу , порождающую четыре потока, каждому из которых выделяется четвертая часть окна приложения. Первый поток выводит в свою область возрастающую числовую последовательность 0,1,2,…, второй – последовательность чисел Фибоначчи. Третий поток заполняет свой участок окна прямоугольниками случайного размера и цвета, четвертый поток фиксирует в трех переменных и выводит их в своей области окна число запусков каждого из предыдущих трех потоков. Первые три потока я создал,а вот как создать четвёртый,который фиксирует в трех переменных и выводит их в своей области окна число запусков каждого из предыдущих трех потоков, не знаю.Не могли бы вы мне подсказать,как создать этот поток?Заранее спасибо))))
PM MAIL   Вверх
borisbn
Дата 19.4.2011, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(ricky @  18.4.2011,  22:31 Найти цитируемый пост)
число запусков каждого из предыдущих трех потоков

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

class Thread2 /* с Thread1 и Thread3 аналогично*/
{
public:
    int m_counter;
    void run() {
        while ( ! m_stop ) {
            countFibonacci();
            drawFibonacci();
            m_counter++;
        }
    }
};

class Thread4
{
public:
    Thread4( Thread1 * t1, Thread2 * t2, Thread3 * t3 )
        : m_thread1( t1 ), m_thread2( t2 ), m_thread3( t3 ) {}
    void run() {
        while ( ! m_stop ) {
            int t1 = m_thread1.m_counter;
            int t2 = m_thread2.m_counter;
            int t3 = m_thread3.m_counter;
            char buf[ 420 ];
            sprintf( buff, "t1 = %d t2 = %d t3 = %d summ = %d", t1, t2, t3, t1 + t2 + t3 );
            sendStringToGui( buff );
        }
    }
};



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

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


 




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


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

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