Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: juvf от Март 21, 2011, 11:34



Название: опять QTimer и потоки
Отправлено: juvf от Март 21, 2011, 11:34
допустим есть объект класса

Код:
class MyClas
{
    public:
       MyClas(){timer = 0};
       createTimer()
       {
          if(timer == 0)
               timer = new QTimer;
        }
    private:
        QTimer *timer;
}

один экземпляр этого класса используется в 5-ти потоках. допустим в 3-ем потоке понадобился таймер, из 3-го потока вызвыли createTimer(). Проходит время и таймер понадобился 4-му потоку. Необходимо чтоб таймер немедленно переместился в 4-ый поток. Можно из 3-го потока переправить таймер в 4-ый методом moveToThread(). Но как 3-му сообщить, что нужно передать таймер? Как 4-ый поток может захватить управление над таймером созданным в др потоке?


Название: Re: опять QTimer и потоки
Отправлено: Авварон от Март 21, 2011, 14:44
если учесть что для перемещения внутреннего таймера кьюобжекта в другой поток требуется его остановка (такова имплементация), то имхо огород с перемещением таймера не нужен