powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как задать приоритет потоков, созданных QThreadPool?
12 сообщений из 12, страница 1 из 1
Как задать приоритет потоков, созданных QThreadPool?
    #39416599
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После запуска многопоточной обработки комп начинает подтормаживать. Установка приоритета есть у объектов QThread, а вот у QThreadPool не нашел. Как понизить приоритет созданных потоков с помощью QThreadPool?
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417200
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопросик: как при выполнении метода run() понять какой поток выполняет код (чтобы можно было по каждому потоку отдельно выводить информацию о ходе обработки)?
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417274
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLПосле запуска многопоточной обработки комп начинает подтормаживать. Установка приоритета есть у объектов QThread, а вот у QThreadPool не нашел. Как понизить приоритет созданных потоков с помощью QThreadPool?

Ну, в крайнем случае можно получить платформозависимый идентификатор потока и вызвать системную функцию.

Возможно, в интерфейсе QThreadPool и нету такой возможности.
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417275
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLЕще вопросик: как при выполнении метода run() понять какой поток выполняет код (чтобы можно было по каждому потоку отдельно выводить информацию о ходе обработки)?

Ну, опять же, можно получить идентификатор потока.

Кстати, потоки уже есть в стандартном С++, в библиотеке, я бы лучше вместо QTшных использовал их.

правда, там те же проблемы.
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417287
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivНу, в крайнем случае можно получить платформозависимый идентификатор потока и вызвать системную функцию.

Возможно, в интерфейсе QThreadPool и нету такой возможности.

Если начать привязываться к системным функциям, то кроссплатформенный выигрыш от Qt полностью теряется.
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417289
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivAlekseySQLЕще вопросик: как при выполнении метода run() понять какой поток выполняет код (чтобы можно было по каждому потоку отдельно выводить информацию о ходе обработки)?

Ну, опять же, можно получить идентификатор потока.

Кстати, потоки уже есть в стандартном С++, в библиотеке, я бы лучше вместо QTшных использовал их.

правда, там те же проблемы.

Спасибо! Слышал Boost умеет работать с более высокими абстракциями- задачами. Это упрощает работу: просто накидал задач в пул, без необходимости реализовывать менеджер распределения задач по потокам. Так что покопаю в эту сторону.
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417455
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLMasterZivпропущено...


Ну, опять же, можно получить идентификатор потока.

Кстати, потоки уже есть в стандартном С++, в библиотеке, я бы лучше вместо QTшных использовал их.

правда, там те же проблемы.

Спасибо! Слышал Boost умеет работать с более высокими абстракциями- задачами. Это упрощает работу: просто накидал задач в пул, без необходимости реализовывать менеджер распределения задач по потокам. Так что покопаю в эту сторону.


Не буст, а стандартная библиотека С++ уже, boost threads уже вошла в стандарт, и уже поддерживается компиляторами.
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417720
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Спасибо!
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417854
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivAlekseySQLпропущено...

Спасибо! Слышал Boost умеет работать с более высокими абстракциями- задачами. Это упрощает работу: просто накидал задач в пул, без необходимости реализовывать менеджер распределения задач по потокам. Так что покопаю в эту сторону.

Не буст, а стандартная библиотека С++ уже, boost threads уже вошла в стандарт, и уже поддерживается компиляторами.

тут: не нашел ничего про пул задач. Думаю либо придется огород городить, либо использовать существующие библиотеки.
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39417995
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLMasterZivНу, в крайнем случае можно получить платформозависимый идентификатор потока и вызвать системную функцию.

Возможно, в интерфейсе QThreadPool и нету такой возможности.

Если начать привязываться к системным функциям, то кроссплатформенный выигрыш от Qt полностью теряется.Кроссплатформенно? А покажите, где в pthreads можно приоритет задать. А то мне почему-то казалось, что под линуксом приоритет можно только всему процессу установить
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39418062
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLMasterZivпропущено...


Не буст, а стандартная библиотека С++ уже, boost threads уже вошла в стандарт, и уже поддерживается компиляторами.

тут: не нашел ничего про пул задач. Думаю либо придется огород городить, либо использовать существующие библиотеки.

http://www.cplusplus.com/reference/future/async/?kw=async
...
Рейтинг: 0 / 0
Как задать приоритет потоков, созданных QThreadPool?
    #39428077
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В методе run() сделал так:

Код: plaintext
1.
QThread::currentThread()->setPriority(QThread::IdlePriority);
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как задать приоритет потоков, созданных QThreadPool?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]