Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как задать приоритет потоков, созданных QThreadPool? / 12 сообщений из 12, страница 1 из 1
10.03.2017, 08:44
    #39416599
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задать приоритет потоков, созданных QThreadPool?
После запуска многопоточной обработки комп начинает подтормаживать. Установка приоритета есть у объектов QThread, а вот у QThreadPool не нашел. Как понизить приоритет созданных потоков с помощью QThreadPool?
...
Рейтинг: 0 / 0
10.03.2017, 19:20
    #39417200
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задать приоритет потоков, созданных QThreadPool?
Еще вопросик: как при выполнении метода run() понять какой поток выполняет код (чтобы можно было по каждому потоку отдельно выводить информацию о ходе обработки)?
...
Рейтинг: 0 / 0
11.03.2017, 04:35
    #39417274
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задать приоритет потоков, созданных QThreadPool?
AlekseySQLПосле запуска многопоточной обработки комп начинает подтормаживать. Установка приоритета есть у объектов QThread, а вот у QThreadPool не нашел. Как понизить приоритет созданных потоков с помощью QThreadPool?

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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