Russian Qt Forum
Ноябрь 23, 2024, 00:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: ScopedThreadPriority  (Прочитано 1583 раз)
Akon
Гость
« : Ноябрь 20, 2011, 21:55 »

Когда-то пытался средствами Qt сделать сабж (RAII обертка) - сходу не получилось и плюнул. Проблема была с QThread::InheritPriority, чего-то там не восстанавливалось обратно.

Код:
class ScopedThreadPriority
{
   ...

public:
  explicit ScopedThreadPriority(QThread::Priority priority = QThread::TimeCriticalPriority) :
    priority_(QThread::currentThread()->priority())
  {
    QThread::currentThread()->setPriority(priority);
  }
  ~ScopedThreadPriority()
  {
    QThread::currentThread()->setPriority(priority_);
  }

private:
  QThread::Priority priority_;
};

Using:
{
  // QThread::currentThread()->setPriority(QThread::TimeCriticalPriority);
  ScopedThreadPriority scopedPriority(QThread::TimeCriticalPriority);
  ...
}
// previous thread priority restores here

Cталкивался ли кто с проблемой?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.118 секунд. Запросов: 20.